阅读下列说明和Java代码,在 (n) 处填入正确的字句。 [说明] 某公司的组织结构图如图10.6所示,现采用组合(Composition)设计模式来设计,得到如图10.7所示的类图。https://bgk-photo.cdn.bcebos.com/doc/pic/item/314e251f95cad1c8f8989bfe773e6709c83d51c3.jpg 其中Company为抽象类,定义了在组织结构图上添加(Add)和删除(Delete)分公司/办事处或者部门的方法接口。类ConcreteCompany表示具体的分公司或者办事处,分公司或办事处下可以设置不同的部门。类HRDepartment和FinanceDepartment分别表示人力资源部和财务部。 [Java代码] import jav
A: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 ConcreteteCompany 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:07:02