gpt4 book ai didi

java - 代码重构。实现相同接口(interface)的类

转载 作者:太空宇宙 更新时间:2023-11-04 14:02:58 30 4
gpt4 key购买 nike

我有 4 个实现相同接口(interface)。类(class)例如

ABCXYZLMN,现在LMN类的实例可以belongToXYZ的实例意味着也可以是子对象。如果一个对象是子对象,那么它不应该具有作为独立对象可用的所有方法,否则它的功能会略有不同。

处理这种情况的最佳实践是什么?

最佳答案

这可能看起来违反直觉,但您可能需要考虑实现第二个接口(interface) ChildInterface,它是 Interface父级。将您希望子级可用的方法子集放在那里。

public interface ChildInterface{

...
}

public interface Interface extends ChildInterface{

//add methods you don't want Children to have
}


public class XYZ implements Interface{
...
}

然后在您的 Interface 接口(interface)或 XYZ 类中,有一个方法

public ChildInterface getChild();

由于所有类都实现这两个接口(interface),因此编译效果很好,并且保证返回的对象仅限于 ChildInterface 中的方法。

关于java - 代码重构。实现相同接口(interface)的类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29141780/

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