小编典典

java特征或mixins模式?

java

有没有一种方法可以在Java中模拟mixin或特性?基本上,我需要一种进行多重继承的方法,以便可以向几个类添加通用的业务逻辑


阅读 216

收藏
2020-11-01

共1个答案

小编典典

我将所有业务逻辑封装到一个新类中,BusinessLogic并让每个需要BusinessLogic对该类进行调用的类。如果您的类需要一个单一的根目录层次结构来进行调用BusinessLogic,则还必须创建一个接口(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(); }
}

这不是解决缺少多重继承的最漂亮的实现,当接口具有许多方法时,它将变得非常麻烦。最有可能的是,您需要尝试重新设计代码,以避免需要mixins。

2020-11-01