第17条:要么为继承而设计,并提供文档声明,要么就禁止继承
第18条:接口优于抽象类:
现有的类很容易被更新,以实现新的接口
接口是定义mixin(混合类型)的理想选择
- 不严格的讲,mixin是指这样的类型:类除了实现它的基本类型(primary type)之外,还可以实现这个mixin类型,以表明它提供了某些可选择的行为
接口允许我们构造非层次结构的类型框架
- 类型层次对于组织某些是非常合适的,但是其他有些事物并不能被整齐的组织成一个严格的层次结构
第19条:接口只用于定义类型
当类实现接口时,接口就充当可以引用这个类的实例的类型。因此,类实现了接口就表明客户端可以对这个类的实例进行某些动作,为了任何其他目的而定义接口是不恰当的