.Net学习 第2季04 C#面向对象 里氏转换 is/as操作 随机数 protected

.Net 视频学习第2季 C#面向对象

 

面向对象 里氏转换 随机数 protected

里氏转换:子类对象可以赋值给父类对象;如果父类中装的是子类对象,可以将此父类对象强制转换成子类对象。

子类对象可以调用父类成员,但父类对象永远只能调用自己的成员。

is或者as均表示类型转换,is返回true/false,as返回转换后对象/null

class Person
{
    public string Name {get;set;}
}

class Student:Person
{
}

class Teacher:Person
{
}

Person p = new Student();
Student ss = (Student)p;

Student s = new Student();
if (s is Teacher)
{Console.WriteLine("convert success");}
else
{Console.WriteLine("convert fail");}

Teacher t = s as Teacher;
if(t == null)
{Console.WriteLine("convert fail");}

Person p = new Student();表示子类对象可以赋值给父类对象,注意,该对象还是父类对象,并不能调用子类独有成员。

Student ss = (Student)p;表示可以将此父类对象强制转换成子类对象,如果父类对象装的是子类对象。

 

随机数生成:

Random r = new Random();
int a = r.Next(1,7);

注意生成的随机数a的取值是1到6。

 

private 仅可在当前类中被访问

protected 可在当前类以及该类的子类中被访问

posted @ 2014-12-05 15:37  Cyrus Ho  阅读(253)  评论(0编辑  收藏  举报