【设计模式】 抽象类和接口
一. 抽象类
1. 不能实例化
2. 内部方法可以有实现,也可以是是抽象方法
3. 内部属性和方法有访问修饰符
4. 抽象子类继承时, 父类抽象方法可以不实现
5. 单一继承
6. 相同属性,相同方法(可以是不同实现)用抽象类, 因内部方法可以有实现,可以在父类实现方法,让子类公用
二. 接口
1. 不能实例化
2. 内部方法只能是抽象方法,不能有实现
3. 内部属性和方法不能有访问修饰符
4. 子类必须实现所有抽象方法, 除非是抽象子类,抽象子类可以用抽象方法省略父类实现
5. 可以多继承
6. 不同属性,相同方法用接口,接口的粒度要尽量小,接口内的方法尽量少