jos*_*evl 15 java traits mixins
有没有办法在java中模拟mixins或traits?基本上,我需要一种方法来进行多重继承,因此我可以将常用的业务逻辑添加到多个类中
Ale*_*x B 12
我会将所有业务逻辑封装到一个新类中,BusinessLogic并让每个需要BusinessLogic调用该类的类.如果你需要为你的类调用一个root的heirarchy 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(); }
}
Run Code Online (Sandbox Code Playgroud)
这不是解决缺少多重继承的最漂亮的实现,当接口有很多方法时它变得非常麻烦.最有可能的是,您需要尝试重新设计代码以避免需要mixins.
今天,物体纯粹主义者在你心中激荡吗?
您认为可以进行一些面向组合的编程吗?
那么,先生,您正在寻找Apache Polygene(以前称为 Qi4J,然后重命名为 Zest 和/或 Apache-Zest);)
2022 年更新;目前已经停产了,不过还是有用的。
| 归档时间: |
|
| 查看次数: |
16320 次 |
| 最近记录: |