有没有一种方法可以在Java中模拟mixin或特性?基本上,我需要一种进行多重继承的方法,以便可以向几个类添加通用的业务逻辑
我将所有业务逻辑封装到一个新类中,BusinessLogic并让每个需要BusinessLogic对该类进行调用的类。如果您的类需要一个单一的根目录层次结构来进行调用BusinessLogic,则还必须创建一个接口(BusinessLogicInterface?)
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。