我有4 Classes
实现相同的Interface
。类是例如
ABC
,XYZ
,LMN
,现在类LMN
的实例可能belongTo
XYZ
的实例也可以是儿童对象。如果一个对象是一个子对象,那么它不应该将所有方法都作为独立对象提供,或者它的功能会略有不同。
通常最好的Pratice来处理这种情况。
答案 0 :(得分:0)
这可能看似违反直觉,但您可能想要考虑实施第二个接口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
界面或XYZ
课程中,有一个方法
public ChildInterface getChild();
由于所有类都实现了两个接口,因此编译得很好,它将保证返回的对象仅限于ChildInterface
中的方法。