1 父类是怎么来的
(1) 父类的概念:
类是对大量对象的抽象。
父类对大量子类的抽象。抽的是相同的属性和方法。
(2) 子类和父类的区别
父类中保存了所有子类共性的属性和方法。
子类中自己的特性的属性和方法。
父类更通用。子类更具体。
2 继承的使用时机
当我们发现有很多的类,有相同的属性和方法,就可以考虑使用继承。
3 类的继承
(1) 判断条件:
is-a 是一个。
必须满足 子类 是 一个父类。 子类 is-a 父类
(2) 类之间的关系
1 is-a 是一个 继承 子类是一个父类
2 has-a 有一个 组合 类的属性
3 use-a 用一个 依赖 方法的参数
(3) 示例
把下面的四个类的关系整理清楚:
司机 车 BMW 发动机
关系:
BMW is-a 车
车 has-a 发动机
司机 use-a 车
class 司机{
public void 工作(车 车对象){
车对象.跑();
}
}
class 车{
private 发动机 发动机对象;
}
class BMW extends 车{
}
class 发动机{
}
4 何时使用方法重写
当发现从父类继承的方法,在子类中不适用时。就可以在子类中对这个方法进行重写操作。
5 继承和方法重写的意义
在面向对象语言特性中:封装,继承,多态是三大特性。
其中封装和继承都是为了实现多态服务的。
封装的目的是为了能获到类,属性,方法。
继承的目的是在不修改源文件的情况下,可以实现对功能的修改。
依据"开放-封闭"原则:对扩展开放,对修改关闭。
所以当有一个类,中的方法需要进行更新时。我们应该扩展一个子类。在子类中重写这个方法。
继承和方法重写真正的目的是在不修改源文件的情况,扩展一个子类,实现对父类的修改。