gpt4 book ai didi

java - 使用没有接口(interface)的适配器模式?

转载 作者:行者123 更新时间:2023-12-01 13:15:56 24 4
gpt4 key购买 nike

我可以访问 A 类,这是我无法修改的第三方具体类。

我想将 B 类的类似对象转换为第三方具体对象。我不知道如何正确地做到这一点

现在我有

public class BAdapter {
private B b;
public BAdapter(B b) {
this.b = b;
}

public A toClassA() {
// convert to and return an instance of A
}
}

感觉这个适配器类应该是静态的,这让它感觉更像是一种反模式。

我有一堆来自第三方的类,我需要转换它们,并且想知道我应该使用的正确模式。第三方不提供任何接口(interface),只提供具体的类,因此我无法使用真正的适配器模式。有什么选择或想法吗?

最佳答案

在我看来,你有三个选择:

  1. 如果您唯一需要的是从 BA 的转换,则不需要适配器。只需将 toClassA() 方法添加到 B 类即可。
  2. 如果您想要映射类 A 接口(interface)来模仿类 B 的接口(interface),请使用适配器,以便您实际上仅实例化适配器(并隐式地实例化 A) 当您需要A功能时。
  3. 如果BA添加功能,则从A派生B:经典继承,甚至多重继承,如果您需要与我们不知道的 C 类的接口(interface)兼容性。

关于java - 使用没有接口(interface)的适配器模式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22472210/

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