组合
组合是为了代码重用,也是面向对象的一个重要特征
组合:
学校拥有一个校长,拥有两个教师,拥有五个学生
而不能说学校就是一个校长
继承:
猫是一种动物
实际编程中,组合会用的多一些
在一个类中存在其他类的属性称组合
组合表示的语义 has - a(拥有xxx,包含xxx)
继承表示的语义is - a (是xxx)
向上转型:
使用父类的引用指向一个子类的实例
不同类型之间的引用一般情况是不允许两者相互赋值的,除非两者是父子的关系
往父类的方向转“向上转型”
三种方式
在这里插入图片描述
可省略强制类型转换
往子类的方向转“向下转型”