接口(作为多重继承的替代)如何实现代码重用

时间:2012-09-08 10:48:16

标签: oop interface reusability

这很难。我在论坛上看过这个问题,但没有人能得出满意的答案。

来自C ++背景,我被告知Java通过接口实现了多重继承。继承的主要目的之一恰好是“代码重用”。

多年来,我一直在努力了解接口的使用。我不明白接口是否实现了代码重用。如果是,那怎么样? 请提供一个良好代码示例来证实这一点。

我已经明白接口是:

  1. 用于指定合同。
  2. 用于指定其他角色, 班级扮演的行为。
  3. 用于实现“多态性”,(例如:A 像addKeyListener(KeyListener e)这样的方法可以接受任何类 将KeyListener实现为参数(以便它成为类型 KeyListener),即使它不在继承层次结构中 的KeyListener。
  4. 但是在代码重用的情况下,当我需要自己添加具体方法的代码时,它是如何有用的......我也可以省略实现接口。

    那么接口如何实现代码可重用性(如果它完全可以)?

1 个答案:

答案 0 :(得分:0)

  

来自C ++背景,我被告知Java通过接口实现了多重继承。继承的主要目的之一恰好是“代码重用”。

嗯不,Java只是不会实现多重继承。接口是最接近Java的多重继承接口,但它实际上不是继承,并且它不会像继承那样产生代码重用。

它可以为您节省一些代码,您可以以相同的方式使用所有实现,而不必复制调用代码。