Make it Stick
玫瑰是红的,
自我感觉是良好的,
extend只能有一个,implement可以有好多个。
类来自单亲家庭(superclass),但可以扮演多重角色(implement)。
摘自(Head First Java 第8章)
要如何判断应该是设计类、子类、抽象类或接口呢?
1、如果新的类无法对其他类通过IS-A测试时,就设计不集成其他类的类;
2、只有在需要某类的特殊化版本时,以覆盖或增加新的方法来继承实现所有的类;
3、当你需要定义一群子类的模板,又不想让程序员初始化此模板的时候,设计出抽象的类给他们;
4、如果想要定义出类想要扮演的角色,使用接口。