首先,我们为什么需要定义抽象类?又如何定义抽象类呢?
简单的说:
- 抽象类是一种模版模式。抽象类为所有的子类提供了一个通用模版,子类可以在这个模版的基础上进行扩展;
- 通过抽象类,可以避免紫烈设计的随意性。通过抽象类,我们就可以做到严格限制子类的设计,是子类之间更加通用;
要点:
- 有抽象方法的类只能定义为抽象类;
- 抽象类不能实例化,及不能用new类实例化抽象类;
- 抽象类可以包含属性,方法,构造方法。但是构造方法不能用来new实例,只能用来被子类调用;
- 抽象类只能用来继承;
- 抽象方法必须被子类实现;
抽象方法的意义在于:将方法的设计和方法的实现分离了。