gpt4 book ai didi

java - 如何围绕已经存在但不能在java中修改的类创建接口(interface)

转载 作者:行者123 更新时间:2023-12-04 20:40:19 25 4
gpt4 key购买 nike

假设我的代码中已经有 2 个类:

class SomeOrder {
String getOrderId() { return orderId; }
}

class AnotherOrder {
String getOrderId() { return orderId; }
}

如何围绕这两个类创建接口(interface):

interface Order {
String getOrderId();
}

理想情况下,我会修改代码,以便 SomOrder 实现 OrderAnotherOrder 实现 Order 但这里的问题是它们属于我无法控制或编辑的包(即它们来自外部 jar )。

我的算法目前看起来是这样的:

void sorter(List<SomeOrder> orders) {
... <custom sort logic> ...
someOrder.getOrderId();
}

void sorter(List<AnotherOrder> orders) {
... <custom sort logic> ...
someOrder.getOrderId();
}

使用单一界面我可以写:

void sorter(List<Order> orders) {
... <custom sort logic> ...
order.getOrderId();
}

最佳答案

您可以使用适配器类:

class SomeOrderAdapter implements Order {
private SomeOrder delegate;

@Override
public String getOrderId() {
return delegate.getOrderId();
}
}

AnotherOrder 类似。

关于java - 如何围绕已经存在但不能在java中修改的类创建接口(interface),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49947749/

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