(摘抄自郭峰老师的《深入浅出设计模式》,%后面是自己理解)
一个具体的派生类只能继承一个抽象类,所以父类和子类在概念上应该是相同的。%绝对是亲生的!老子英雄儿好汉!
一个具体的派生类可以实现多个接口类,所以父类和子类在概念上不一定相同。%七个葫芦娃变成一个葫芦娃!拥有各种超能力!
接口只是抽取相互之间没有关系的类的共同特征,而不去关注类之间的关系,它可以使没有层次关系的类具有相同的行为。
所以抽象类是对一组具有相同属性和方法的逻辑上有关系的事物的一种抽象,表示的是 is a 的关系。
而接口则是对一组具有相同属性和方法的逻辑上不相关的事物的一种抽象,表示的是 like a 的关系。%小明像小鸟一样飞了出去,“飞”就是一个接口