您的位置:首页 > 其它

不同继承树的类也可以实现相同的接口

2013-08-16 16:18 239 查看


不同继承树的类也可以实现相同的接口

当你把一个类当作多态类型运用时,相同的类型必定来自同一个继承树,而且必须是该多态类型的子类。定义为Canine类型的参数可以接受Wolf与Dog,但无法忍受Cat或Hippo。
更棒的是类可以实现多个接口!
通过继承结构,Dog对象IS-A Canine、IS-A Animal、IS-A Object的关系是成立的。但Dog IS-A Pet是通过接口实现的机制达成的,并同时也能够实现其他的接口:
public class Dog extends Animal implements Pet{…}

要如何判断应该是设计类、子类、抽象类或接口呢?

1.如果新的类无法对其他的类通过IS-A测试时,就设计不继承其他类的类。

2.只有在需要是类的特殊化版本时,以覆盖或增加新的方法类继承现有的类。

3.当你需要定义一群子类的模板,又不想让程序员初始化此模板时,设计出抽象的类给它们用。

4.如果想要定义出类可以扮演的角色,使用接口。

调用父类的方法
如果创建出一个具体的子类且必须要覆盖某个方法,但又需要执行父类的方法时要怎么办?也就是说不打算完全地覆盖掉原来的方法,只是要加入额外的动作要怎么做?super这个关键句能让你在子类中调用子类的方法。
super.runReport();  //super关键字是用来引用父类对象的
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐