感觉接口已经很厉害了,那为什么还要存在继承?继承只能单继承,父类一修改,子类还必须也得继承。大家不觉得继承很鸡肋吗?
接口是一种“能力”,同时也是一种“规范”。比如“飞翔”这个能力,就是不同类物种拥有的能力,比如鸟,比如飞机,但归根结底他们是不一样的“类别”。所以他们可以同时实现“飞翔”这个接口。接口作为一种“规范”,要求所有实现该接口的类,必须实现接口内的抽象方法,是强制的。并且接口中只能定义全局常量和抽象方法。
而继承,表达的是一种近似物种衍生的意思。比如马和白马,他们都属于一个类别,但是又有所不同,比如白马的毛色。在继承中,是不强制要求重写父类中的方法的。子类继承父类不光继承了方法,还可以继承他的属性,比如马的“体重”,“年龄”等属性。
总而言之,接口是一种约束与能力的授予,而继承是一种类别的延续和衍生。能力可以拥有多种,但是继承的祖源,只能存在一个。
以上一点拙见,还望对您有些启发。
大师!
鞭辟入里,一目了然!
谢谢,回答的非常全面。
类的属性采用继承,方法一般都用接口!
继承可以重用代码,让代码变得简洁啊。
继承可以复用。