1、接口是常量和抽象方法的集合,接口中的方法默认是抽象的。
2、控制反转:基类的方法可以主动的调用子类的方法,即典型的控制反转。基类与子类之间,主控权是在基类手上,透过Hook方法来调用子类。通常基类是撰写在先,而子类则撰写在后,这种前辈拥有主导权,进而「控制」后辈之情形,就通称为「控制反转」。
3、基类可以提供默认的行为,或者定义默认行为。这些默认的行为可以被子类继承或调用。
4、向上转型,向下转型。
5、设计抽象类的时候,将变与不变进行分离。变的设计成hook(抽象方法),不变的放在基类设计成一般的方法。
6、主动型api基类调用子类(IOC),被动型api子类调用基类。(已基类为标准)