里氏转换
- 子类可以赋值给父类,用途:如果有一个地方需要父类做参数,可以向其中传入一个子类代替
Teacher tc = new Teacher("张三",18,'男',11111,10000);
Person ps = tc;// 或者Person ps = new Teacher()
ps.SayHello();
Console.ReadKey();
- 如果父类中装的是子类对象,可以将父类强转为子类对象
Teacher tc = new Teacher("张三",18,'男',11111,10000);
Person ps = tc;
ps.SayHello();//我是人类
Teacher teacher = (Teacher)ps;
teacher.SayHello();//我是老师
Console.ReadKey();
is as用法
如果父类中装的子类对象,那么父类可以强制转换为子类对象,而不可以强制转换为其他对象,如果强转为其它对象,那么会报错,因此在强制转换时一般使用 is 或 as