里氏转换:
1、子类可以赋值给父类
2、如果父类中装的是子类对象,那么可以将父类转换为子类对象。
3、as
4、is
如果一个子类继承了一个父类,那么这个子类除了可以使用自己的成员外,还可以使用从父类那里继承过来的成员
但是,父类永远只能使用自己的成员,而不能使用子类的成员
子类之间也不能互相使用对方的成员
class Program { static void Main(string[] args) { Person person = new Student(); Teacher t = person as Teacher; //as转换成功转成对应的对象,转换失败返回null //Student s = (Student)person;//转换成功,因为person里装着Student的对象 //Teacher s = (Teacher)person;//转换失败,因为person里装着Student的对象 if(person is Student) { Console.WriteLine("OK,可以转换"); } else { Console.WriteLine("NO,不可以转换"); } //Console.WriteLine(s.ID); Console.ReadKey(); //Student student = new Student(); //Teacher teacher = new Teacher(); } } public class Person { public string Name { get; set; } } public class Student : Person { public int ID { get; set; } } public class Teacher : Person { public double Salary { get; set; } }
时间: 2024-11-06 10:05:31