组合模式
来源:互联网 发布:出租屋装修知乎 编辑:程序博客网 时间:2024/05/17 06:15
1.公司和部门的抽象类
/** * @Desc:部门的基类 * @author zy * @date 2016年8月12日上午11:11:39 */public abstract class Department {public abstract void responsibility();//公司的职责}
/** * @Desc:公司的实体 * @author zy * @date 2016年8月12日上午11:07:28 */public class Company {public Company(Department technologyDepartment,Department operationDepartment,Department saleDepartment){if(null != technologyDepartment){System.out.println("技术部组合成功");}if(null != operationDepartment){System.out.println("运营部组合成功");}if(null != saleDepartment){System.out.println("销售部组合成功");}System.out.println("公司初始化成功");}}
2.部门的具体实现
/** * @Desc:运营部门 * @author zy * @date 2016年8月12日上午11:17:50 */public class OperationDepartment extends Department{@Overridepublic void responsibility() {System.out.println("我是运营部,我是公司的一部分");}}
/** * @Desc:销售部门 * @author zy * @date 2016年8月12日上午11:18:59 */public class SaleDepartment extends Department{@Overridepublic void responsibility() {System.out.println("我是销售部,我是公司的一部分");}}
/** * @Desc:技术部 * @author zy * @date 2016年8月12日上午11:16:48 */public class TechnologyDepartment extends Department{@Overridepublic void responsibility() {System.out.println("我是技术部,我是公司的一部分");}}
3.测试
public class M {public static void main(String[] args) {Department technologyDepartment = new TechnologyDepartment();Department operationDepartment = new OperationDepartment();Department saleDepartment = new SaleDepartment();Company company = new Company(technologyDepartment, operationDepartment, saleDepartment);}}
组合模式,阐述这个模式最好的栗子,就是公司的组成。从大的角度划分的话,每个公司都能理解为 技术+销售+运营的构成体
使用组合模式,比使用继承的方式更加轻巧和灵活,减少了使用继承的高耦合
0 0
- 组合模式
- 组合模式
- 组合模式
- 组合模式
- 组合模式
- 组合模式
- 组合模式
- 组合模式
- 组合模式
- 组合模式
- 组合模式
- 组合模式
- 组合模式
- 组合模式
- 组合模式
- 组合模式
- 组合模式
- 组合模式
- 使用PHP自带zlib函数 几行代码实现PHP文件打包下载zip
- WindowManager窗口管理
- linux系统如何破解密码
- C++封装、继承、多态
- google test 学习笔记2-google test Advanced guide
- 组合模式
- RX操作符之连接操作ConnectObservable(publish、connect、replay、refCount)
- VS2010/MFC编程入门之十一(对话框:模态对话框及其弹出过程)
- IT--ganglia--报错
- Cubemap
- continue 的理解
- web前端选项卡的写法
- gulp教程之gulp-less
- 为什么Java byte 类型的取值范围是-128~127