有没有一种方法可以在Java中模拟mixin或特性?基本上,我需要一种进行多重继承的方法,以便可以向几个类添加通用的业务逻辑
最佳答案
我会将所有业务逻辑封装到一个新的类BusinessLogic
中,并让需要BusinessLogic
的每个类都对该类进行调用。如果您需要对BusinessLogic
进行调用的类的根植层次结构,则还必须创建一个接口(interface)(BusinessLogicInterface
吗?)
用伪代码:
interface BusinessLogicInterace
{
void method1();
void method2();
}
class BusinessLogic implements BusinessLogicInterface
{
void method1() { ... }
void method2() { ... }
}
class User
extends OtherClass
implements BusinessLogicInterface
{
BusinessLogic logic = new BusinessLogic();
@Override
void method1() { logic.method1(); }
@Override
void method2() { logic.method2(); }
}
这不是解决缺少多重继承的最漂亮的实现,当接口(interface)具有许多方法时,它将变得非常麻烦。最有可能的是,您将希望尝试重新设计代码以避免需要mixins。