Is there a way to emulate mixins or traits in java? basically, I need a way to do multiple inheritance so I can add common business logic to several classes

解决方案

I would encapsulate all of the business logic into a new class BusinessLogic and have each class that needs BusinessLogic make calls to the class. If you need a single rooted heirarchy for your classes that make calls to BusinessLogic, you'll have to create an interface as well (BusinessLogicInterface?)

In pseudo-code:

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(); }

}

This isn't the prettiest implementation to work around a lack of multiple inheritance and it becomes quite cumbersome when the interface has a lot of methods. Most likely, you'll want to try and redesign your code to avoid needing mixins.

java traits,java traits还是mixins模式?相关推荐

  1. .pgr照片文件解析,C++与Java存储数据差别大小端模式

    一..pgr是什么? .pgr文件是二进制的图像文件,可以用普通的文本文件打开,或者查看十六进制的文本信息: 读取需要了解~~~非常重要 !!! 基本数据类型的大小端存储模式 表头Header 详细信 ...

  2. 探索 Java 同步机制[Monitor Object 并发模式在 Java 同步机制中的实现]

    探索 Java 同步机制[Monitor Object 并发模式在 Java 同步机制中的实现] https://www.ibm.com/developerworks/cn/java/j-lo-syn ...

  3. Java设计模式(16)中介模式(Mediator模式)

    Mediator定义:用一个中介对象来封装一系列关于对象交互行为. 为何使用Mediator模式/中介模式 各个对象之间的交互操作非常多,每个对象的行为操作都依赖彼此对方,修改一个对象的行为,同时会涉 ...

  4. Java 的工厂方法及代理模式

    Java 的工厂方法及代理模式 工厂方法(FactoryMethod) 概述:定义一个用于创建对象的接口,让子类决定实例化哪一个类.FactoryMethod使一个类的实例化延迟到其子类. 适用性: ...

  5. Java设计模式(1)工厂模式(Factory模式)

    工厂模式定义:提供创建对象的接口. 为何使用工厂模式 工厂模式是我们最常用的模式了,著名的Jive论坛,就大量使用了工厂模式,工厂模式在Java程序系统可以说是随处可见. 为什么工厂模式是如此常用?因 ...

  6. Java设计模式(8)组合模式(Composite模式)

    Composite定义:将对象以树形结构组织起来,以达成"部分-整体" 的层次结构,使得客户端对单个对象和组合对象的使用具有一致性. Composite比较容易理解,想到Compo ...

  7. Java描述设计模式(05):原型模式

    一.原型模式简介 1.基础概念 原型模式属于对象的创建模式.通过给出一个原型对象来指明所有创建的对象的类型,然后用复制这个原型对象的办法创建出更多同类型的对象. 2.模式结构 原型模式要求对象实现一个 ...

  8. Java设计模式(10)代理模式(Proxy模式)

    理解并使用设计模式,能够培养我们良好的面向对象编程习惯,同时在实际应用中,可以如鱼得水,享受游刃有余的乐趣. Proxy是比较有用途的一种模式,而且变种较多,应用场合覆盖从小结构到整个系统的大结构,P ...

  9. 图解Java设计模式学习笔记——行为型模式(模版方法模式、命令模式、访问者模式、迭代器模式、观察者模式、中介者模式、备忘录模式、解释器模式、状态模式、策略模式、职责链模式)

    一.模板方法模式(模板模式)--钩子方法 1.需求-豆浆制作问题 编写制作豆浆的程序,说明如下: 制作豆浆的流程选材-->添加配料-->浸泡-->放到豆浆机打碎. 通过添加不同的配料 ...

  10. Java EE结构理解 与Dao模式 no7.

    什么是 JavaEE JavaEE 概念 Java EE,Java 平台企业版(Java Platform Enterprise Edition),之前称为Java 2 Platform, Enter ...

最新文章

  1. 路由重分布与分布列表
  2. 中国通货膨胀率2.8%,数据分析买房风险直线上升
  3. 华师大数据科学考研_2020年30所微电子院校考研信息详细汇总
  4. 【教程】把PPT转WORD形式的方法
  5. 第十篇学会编写python代码_Python 强化训练:第十篇
  6. Jackson Annotation Examples
  7. 面经 |算法工程师面试题汇总分享
  8. python中的classmethod_面试题:python 中 staticmethod 和 classmethod有什么区别
  9. 专题四:MATLAB绘图
  10. 调优jvm需要修改什么文件_JVM性能调优:基本概念介绍
  11. 我是如何用单例模式征服面试官的?
  12. 如何下载行政区划地图
  13. NXP S32K1 Timer之LPIT模块Driver分析
  14. FC网络光纤通信 c语言实现,[2018年最新整理]光纤通信实验指导书(含原理).doc
  15. mac系统开机启动项
  16. 破解justinmind方法,简单有效
  17. word无法验证服务器,Office提示“无法验证此应用程序的许可证”时怎么处理?...
  18. 2920集五福_2020年支付宝集五福攻略
  19. C/C++语言100题练习计划 84——分数线划定(结构体+快排函数)
  20. 有向图的强连通分量(SCC)

热门文章

  1. windows 10右下角的时间显示带上星期
  2. 计算机毕业设计选题推荐
  3. 胶囊网络(Capsule)学习笔记
  4. 初级php代码写注册,初级的用php写的采集程序
  5. 那些未被收录的页面,还有必要提交死链?
  6. golang数据结构初探之字符串string
  7. Jackson关于Western Blot、IHC 和 ELISA 的显色检测分析
  8. 《Xilinx - UG471中文翻译》(1)IDELAYE2原语介绍
  9. 微信小程序模拟器在笔记本上input无法获取焦点,无法输入
  10. 双11专栏 | 基于可微渲染模型的妆容解析技术