.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 可在当前类以及该类的子类中被访问