1.什么是基类型和派生类
基类型:父类,所有子类都继承自它。
派生类型:子类,继承了父类的属性和方法,还可以添加自己的新功能。
例子:
class Animal { }//基类型
class Dog : Animal { }//派生类型
这里Dog是Animal的子类,Animal是Dog的父类。
2.什么时候使用
当你需要访问子类特有的方法或属性时
3.怎么进行类型转换
向上转型:从派生类型到基类型,范围变宽泛(狗看作动物);
向下转型:从基类型到派生类型,范围变具体(动物具体化为狗);
例子:
Animal myAnimal = new Dog(); // 向上转型
Dog myDog = (Dog)myAnimal; // 向下转型
myAnimal 实际上是一个 Dog 对象,所以我们可以通过 (Dog) 强制将其转换回 Dog 类型。
如果 myAnimal 不是 Dog 类型(比如它是 Cat 类型),会抛出运行时异常。
4.密封类,使用sealed修饰符可以禁止派生