黑马程序员技术交流社区
标题:
继承和实现
[打印本页]
作者:
呆呆呆
时间:
2013-11-23 10:04
标题:
继承和实现
本帖最后由 呆呆呆 于 2013-11-24 10:39 编辑
继承和实现有什么区别?
除了继承只支持单继承, 实现可以有多个接口外.
他们还有别的区别吗?
作者:
╰ゝ冷筱柔
时间:
2013-11-23 10:22
接口继承和实现继承的规则不同,一个类只有一个直接父类,但可以实现多个接口。
作者:
瓶中人
时间:
2013-11-23 10:59
表面的区别就是单继承多实现
继承只能继承父类的公有属性与公有方法。如果父类有抽象方法,子类也必须实现,当然如果子类也是抽象类则不需要。
实现则需要其实现其接口的子类在内部覆写接口中的抽象方法。
简单来说 :根据我的理解,继承就是从父类那里得到东西,如儿子继承父亲的遗产什么的,而实现就是有所谓的父债子还的感觉,子类必须实现其功能。
当然两者其实是有很多相同的地方,比如继承的是个抽象类,则必须实现其抽象方法,而实现接口也可以自由地使用其接口中的常量。
这个还是要靠自己多理解的。
作者:
乔_博_文
时间:
2013-11-23 11:15
继承:
1
.如果多个类的某个部分的功能相同,那么可以抽象出一个类出来,把他们的相同部分都放到父类里,让他们都继承这个类。
2
.java类只支持单继承,用关键字extends,但存在多重继承的机制。
3
.接口继承接口的话,是支持多继承的,它可以不实现父接口中的方法并声明自己的新方法
实现:
1
.如果多个类处理的目标是一样的,但是处理的方法方式不同,那么就定义一个接口,也就是一个标准,让他们实现这个接口,各自实现具体的处理方法来处理那个目标。
2
.类实现接口时一定要实现接口中声明的方法。
3
.接口本身只是定义了几个final的变量和几个方法,没有任何实际的意义,具体的实现还是要在实现它的类中进行
希望能帮到你。。。
作者:
姚宏
时间:
2013-11-23 12:40
很多时候一个子类并不需要父类的所以特征,它可能只是需要其中的某些特征,由于继承,父类所
有的特征都有了,需要和不需要的特征都具备了 ,而子类实际上是不需要的,那么在多重继承时,很
容易因为这些不必要的特征发生混淆引发错误。虽然java语言中,在我看来对父类中的方法方法规定了
限制比如修饰符 private protected 来使用父类的方法。
举一个例子
我有一只老虎,我希望我的老虎能够抓老鼠,所以它向猫学习(继承),可是猫会吃鱼啊,但是我又
不想老虎偷吃我家的鱼,所以我又不想老虎向猫学习吃鱼本领,怎么办,限制(修饰符)就出现了,我和
猫谈条件,猫可以教老虎吃鱼本领,但是猫得给老虎教本领的时候忽悠老虎,说“我教你吃鱼本领,你
却不能再你主人家吃鱼”,意见达成,我既能让我老虎帮我抓老鼠,又不让他祸害我家的鱼。但是这样很麻烦
而在我看来接口就好多了,猫有两个接口,一个是吃鱼,一个是抓老鼠,我只需要我的老虎抓老鼠,那
么我就只要我的老虎实现抓老鼠的接口就行了,因此我认为接口更加灵活,所以我觉得在很多地方不必要用继承的时候就就用接口吧。
这是我当时看面向对象思想的一点心得
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2