我不想让我的课变得抽象起来。例如,我有一个类,它希望实现一个接口,它有大约15-20个方法声明,但是只有4-5个方法对我的类很重要。
还有什么别的办法可以替代吗?
发布于 2018-05-14 10:54:19
(使类变得抽象)的替代方法是:
发布于 2018-05-14 11:00:12
如果可能,修复基本的设计问题。
如果您可以创建一个有用的类,它只实现20个方法中的5个,这意味着接口实际上是许多独立契约的混乱。将这些独立的契约分离到单独的接口中,并在需要的地方使用所需的任何东西,而不是只部分实现一个巨大的接口。
发布于 2018-05-14 10:55:42
您可以使用默认方法,例如:
interface Common {
default void actionOne() {
// nothing to do
}
// or
default void actionTwo() {
throw new UnsupportedOperationException("Must be implemented if used");
}
}或者,您可以拥有多个接口,并且只实现那些重要的接口。
https://stackoverflow.com/questions/50328521
复制相似问题