static void Main(string[] args) { /* 里氏转换 *1、子类可以赋值给父类(如果一个有一个方法需要父类作为参数,我们可以传递一个子类对象) *2、如果父类中装的是子类对象,则可以将这个父类强转为子类对象。 */ Person p = new Student();//子类赋值给父类 //用is转:is是转换的意思,转换成功返回true,转换失败返回flase //if (p is Student) //{ // ((Student)p).StudentSayHello();//父类强转为子类对象 //} //else //{ // Console.WriteLine("转换失败"); //} //Console.ReadKey(); //用as转:as转换成功返回对应的对象,转换失败返回null Student s = p as Student; s.StudentSayHello(); Console.ReadKey(); } public class Person { public void PersonSayHello() { Console.WriteLine("我是人类"); } } public class Student : Person { public void StudentSayHello() { Console.WriteLine("我是学生"); } } } }
标签:Console,里氏,Student,子类,转换,父类,public From: https://www.cnblogs.com/chungeblog/p/17097524.html