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