gpt4 book ai didi

java - 将接口(interface)连接到类成员

转载 作者:行者123 更新时间:2023-12-02 05:28:42 27 4
gpt4 key购买 nike

假设我有一个接口(interface) A 和一个实现它的类 B。现在,我还有一些扩展类 D 的类 C(这意味着它不能扩展 B),但我还需要接口(interface) A 的功能。

我知道的解决方案是让 B 在 C 中实例化 A 的成员(它将实现 A),并在实现 A 的函数时调用 A 的成员中的匹配函数。

有没有办法在A的函数和C内部的成员之间建立某种联系? (这样java就会知道每次它需要从A调用一个函数时,它会直接从A成员中运行匹配的函数,而不需要我为A的每个函数编写代码)

非常感谢每一位帮助者......

最佳答案

没有。如前所述,委托(delegate)必须手动实现。

话虽如此,您有几个选项可以简化此过程:如果您使用 Eclipse,请选择Source|Generate DelegateMethods... 并选择您的成员变量。然后 Eclipse 将为您生成所有委托(delegate)方法。我不知道其他 IDE,但如果 NetBeans 等人。不会有类似的功能。

另一种选择,如果您确实想装饰现有的集合类,请考虑 Google Guava 的 Google Guava's Collection Helpers .

最后但并非最不重要的一点是,您可以考虑使用建议重构您的代码并装饰您的类。建议源于面向方面编程 (AOP),通常使用代理机制来丰富原始目标类。这是一项相当先进的技术,但如果您决心走这条路,请看看Spring's AOP support .

关于java - 将接口(interface)连接到类成员,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25759594/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com