请在 下方输入 要搜索的题目:

某公司的组织结构图如图1所示,现采用组合设计模式来设计,得到如图所示的类图。 图1 组织结构图 图2 类图 其中Company 为抽象类,定义了在组织结构图上添加(Add)和删除(Delete)分公司/办事处或者部门的方法接口。类ConcreteCompany表示具体的分公司或者办事处,分公司或办事处下可以设置不同的部门。类HRDepartment和FinanceDepartment 分别表示人力资源部和财务部。 import java.util.*;    (1)    Company { protected String name; public Company(String name) {   (2)    = name; } public abstract void Add(Company c); // 增加子公司、办事处或部门 public abstract void Delete(Company c); // 删除子公司、办事处或部门 } class ConcreteCompany extends Company { private List<   (3)    > children = new ArrayList<   (4)    >(); // 存储子公司、办事处或部门 public ConcreteCompany(String name) { super(name); } public void Add(Company c) {   (5)    .add(c); } public void Delete(Company c) {   (6)    .remove(c); } } class HRDepartment extends Company { public HRDepartment(String name) { super(name); } // 其他代码省略 } class FinanceDepartment extends Company { public FinanceDepartment(String name) { super(name); } // 其他代码省略 } public class Test { public static void main(String[] args) { ConcreteCompany root = new ConcreteCompany("北京总公司"); root.Add(new HRDepartment("总公司人力资源部")); root.Add(new FinanceDepartment("总公司财务部")); ConcreteCompany comp = new ConcreteCompany("上海分公司"); comp.Add(new HRDepartment("上海分公司人力资源部")); comp.Add(new FinanceDepartment("上海分公司财务部"));    (7)   ; ConcreteCompany comp1 = new ConcreteCompany("南京办事处"); comp1.Add(new HRDepartment("南京办事处人力资源部")); comp1.Add(new FinanceDepartment("南京办事处财务部"));    (8)    ; // 其他代码省略 } }

发布时间:2024-04-10 08:08:26
推荐参考答案 ( 由 搜题小帮手 官方老师解答 )
联系客服
答案:

以下文字与答案无关

提示:有些试题内容 显示不完整,文字错误 或者 答案显示错误等问题,这是由于我们在扫描录入过程中 机器识别错误导致,人工逐条矫正总有遗漏,所以恳请 广大网友理解。

相关试题
登录 - 搜题小帮手
点我刷新
立即注册
注册 - 搜题小帮手
点我刷新
立即登录