里式转换(具有继承关系的子类和父类之间的相互转化)需要遵循两个原则:
1、子类可以直接赋值给父类。
父类 A = new 子类();此时A只能调用父类中的变量与方法,如需要使用A来调用子类的方法则需要转化,也就是第二个原则。
2、在满足第一条原则的情况下,可以把父类强制转换成相对应的子类;
在1、的基础上也就是父类 A = new 子类();父类对象A中装的是子类的对象时可以把A转化为对应的子类对象,有两种方法:
①强制转化: 子类 B =(子类) A
转化时也可以用 is来判断是否可以强制转化 if(A is 子类),可以转化为true;
②as :子类 B = A as 子类
使用as进行转化时,成功则返回对应的对象,失败则返回null