7.对象村的优质生活

规划程序时要考虑到未来

用继承来防止子类中出现重复的程序代码

寻找更多抽象化的机会

要点

  1. 子类是extends父类出来的
  2. 子类会继承父类所有public类型的实例变量和方法,但不会继承所有private类型的变量和方法
  3. 继承下来的方法可以被覆盖掉,但是实例变量不能被覆盖掉
  4. 使用IS-A测试来验证结构的合理性
  5. IS-A关系是单方向的,河马是动物,单动物不一定是河马
  6. 当某个方法在子类中被覆盖过,调用这个方法时会调用到覆盖过的版本
  7. 如果类Y是extends类X,且类Y是类Z的父类,则Z应该能通过IS-A X的测试

运用多态时,引用类型可以是实际对象类型的父类,不仅如此,参数和返回类型也可以多态

遵守合约:覆盖的规则

  1. 参数必须一样,且返回类型必须兼容
  2. 不能减低方法的存取权限

方法的重载(重载与继承,多态无关)

  1. 返回类型可以不同
  2. 不能只改变返回类型
  3. 可以更改存取权限