【程序员】看了这篇你将彻底了解组合模式( 七 )
s.getInfo; } } } @Override public void doSomething(String notice) { System.out.println(this.name+","+this.position+","+notice); } //通知手下的方法 public void notifyStaff(String notice1,String notice2){ if(this.subordinateList !=){ for(Staff s:subordinateList){ //如果手下是程序员 , 调用程序员的接收通知的方法 //手下是管理者 , 调用管理者的接收通知的方法 , 同时将通知再向下级传递 s.doSomething(notice2); s.notifyStaff(notice1,notice2); } } }} 这个类比较复杂 , 处理实现了获取个人信息和接收通知的方法外 , 还重写了增加 , 删除 , 查看下属员工的方法 , 以及发布通知的方法 。
客户端:
package Composite;public class Client { public static void main(String[] args) throws InterruptedException { Staff boss = new Manager("李大头","老板"); Staff RDManger = new Manager("张三","研发部经理"); Staff marketingManager = new Manager("李四","市场部经理"); Staff group1 = new Manager("王五","研发部组长一"); Staff group2 = new Manager("赵六","研发部组长二"); Staff programmer1 = new Programmer("小强","java程序员"); Staff programmer2 = new Programmer("小华","java程序员"); Staff programmer3 = new Programmer("小甲","python程序员"); Staff programmer4 = new Programmer("小乙","c++程序员"); boss.addSubordinate(RDManger); boss.addSubordinate(marketingManager); RDManger.addSubordinate(group1); RDManger.addSubordinate(group2); group1.addSubordinate(programmer1); group1.addSubordinate(programmer2); group2.addSubordinate(programmer3); group2.addSubordinate(programmer4); boss.notifyStaff("今晚加班","来开会"); System.out.println("---------------------"); boss.getInfo; }} 在这里能够看出 , 普通员工和管理者没有任何区别 , 客户端不需要区分组合对象和叶子对象了 , 统一使用组件对象(Staff),调用的方法也是在组件对象中定义的方法 。
运行结果:
张三,研发部经理,来开会王五,研发部组长一,来开会小强,java程序员,来开会小华,java程序员,来开会赵六,研发部组长二,来开会小甲,python程序员,来开会小乙,c++程序员,来开会李四,市场部经理,来开会---------------------姓名:李大头 , 职位:老板姓名:张三 , 职位:研发部经理姓名:王五 , 职位:研发部组长一姓名:小强 , 职位:java程序员姓名:小华 , 职位:java程序员姓名:赵六 , 职位:研发部组长二姓名:小甲 , 职位:python程序员姓名:小乙 , 职位:c++程序员姓名:李四 , 职位:市场部经理
推荐阅读
- 工业互联网@程序员的术与道:术——编程基本功之网络编程
- 小云游戏吧忍不住笑了,一起来捉妖:新妖灵聂小倩最菜?玩家看了她的技能后
- 小爱说游戏看了你的操作都迫不及待想开一把了!,大仙韩信这操作属实下饭
- 筝弦上的赵姐今晚十一点准时过来提车,开心一笑:我请风水先生看了吉时
- 落花这“鸡腿”姑娘也太好看了吧,李沁红色礼裙
- 毛毛虫的秘密就知道其地位,这些冷知识你可能还不知道吧,看了大臣的官服
- 小谢娱乐哦引来广大网友狂点赞,直呼炸天,程序员用Java实现扫雷小游戏
- 农奴:直击旧西藏农奴制下农奴的悲惨生活:图5背着农奴主,图9看了想哭
- 阿星说汽车不足16万丰田被狠狠打脸,丰田这次真怕了!普拉多看了处处为难
- #作文#这届小学生脑路清奇,贡献了一波神作文,老师看了连呼佩服佩服
