黑马程序员技术交流社区

标题: 父类继承 了一个接口 他的子类需要实现这个接口吗? [打印本页]

作者: 王盛    时间: 2013-11-4 16:54
标题: 父类继承 了一个接口 他的子类需要实现这个接口吗?
本帖最后由 王盛 于 2013-11-5 21:31 编辑

弱弱的问一句:父类继承 了一个接口  他的子类需要实现这个接口吗?

作者: 岁月渲染    时间: 2013-11-4 17:33
一个类实现了一个接口,当另一个类继承这个类时,这个接口还被继承.
在一个继承体系中不可避免会出现这种情况,方法在类层次中越堆越高以致其可以为越来越多的子类可用,接口的设计避免了这个问题。这句话并未说某个类实现接口然后另个类继承这个类它是指某个类可以实现接口的部分方法,而其子类也可以来实现接口,而且可以实现和父类不一样的方法,记住子类继承父类的同时也实现接口。
作者: 何俞平    时间: 2013-11-4 20:09
本帖最后由 何俞平 于 2013-11-4 20:11 编辑

要看这个父类是否是抽象类,若父类不是抽象类,子类不需要实现接口,若父类是抽象类,子类需要实现接口,并且抽象父类想要实现接口的方法也必须通过子类实现。
作者: 佟嘉豪    时间: 2013-11-4 20:21
1、接口的定义
2、继承接口的条件
接口只是定义了一种规范,里面并没有实现
如果一个类继承了接口,那么这个类,必须实现接口中的全部成员
除非这个类是抽象类,那么需要子类去实现接口
回到楼主的问题:
1、子类和父类是一种关系
2、类和接口是一种关系

作者: 一席倾城    时间: 2013-11-4 20:51
抽象类的所谓“声明”就是实现,只能说不是完整的实现。所以答案是必须实现,不管是不是抽象类。
必须全部实现,你可以写个接口然后继承看看,如果你不全部实现编译时不会通过的。
作者: hourglass    时间: 2013-11-5 01:42
类在继承接口的时候就必须实现接口, 所以父类在继承接口的时候就实现了这个接口, 子类在继承父类的时候, 就不用实现接口了。
当然如果父类是抽象的时候, 那么子类就必须实现父类的定义的方法,而父类继承了接口,抽象类又不能有具体实现,所以实际上也就是子类必须实现接口。
作者: 王盛    时间: 2013-11-5 21:28
何俞平 发表于 2013-11-4 20:09
要看这个父类是否是抽象类,若父类不是抽象类,子类不需要实现接口,若父类是抽象类,子类需要实现接口,并 ...

嗯嗯 ~  非常感谢~!
作者: 王盛    时间: 2013-11-5 21:29
hourglass 发表于 2013-11-5 01:42
类在继承接口的时候就必须实现接口, 所以父类在继承接口的时候就实现了这个接口, 子类在继承父类的时候, ...

非常感谢~!
作者: 王盛    时间: 2013-11-5 21:30
岁月渲染 发表于 2013-11-4 17:33
一个类实现了一个接口,当另一个类继承这个类时,这个接口还被继承.
在一个继承体系中不可避免会出现这种情况 ...

非常感谢~!
作者: 王盛    时间: 2013-11-5 21:30
佟嘉豪 发表于 2013-11-4 20:21
1、接口的定义
2、继承接口的条件
接口只是定义了一种规范,里面并没有实现

非常感谢~!




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2