阅读下列说明和Java代码,将应填入(n)处的字句写在答题纸的对应栏内。[说明]某公司的组织结构图如图17—9所示,现采用组合(Composition)设计模式来设计,得到如图17—10所示的类图。其中Company为抽象类,定义了在组织结构图上添加(Add)和删除(Delete)分公司/办事处或者部门的方法接口。类ConcreteCompany表示具体的分公司或者办事处,分公司或办事处下可以设置不同的部门。类HRDepament和FinanceDepartment分别表示人力资源部和财务部。[Java代码]importjava.util.*:(1)Company{protectedStringname;publicCompany(Stringname)(2)=name;}DublicabstractvoidAdd(Companyc);//增加子公司、办事处或部门DublicabstractvoidDelete(Companyc);//删除子公司、办事处或部门}C1assConcreteCompanyextendsCompany{privateListchildren=newArrayList( );//存储子公司、办事处或部门publicConcreteCompany(Stringname){super(name);)publiCvoidAdd(Companyc)((5).addc;)publicvoidDelete(Companyc)((6).remove(C);)}C1assHRDepartmentextendsCompany(publiCHRDepartment(Stringname)(super(name);)//其他代码省略}C1assFinanceDepartmentextendsCompany(publicFinanceDepartment(Stringname)(super(name);)//其他代码省略}publiCClassTest{publicstatiCvoi‘dmain(String[]args)(c。ncretecompanyroot=newconcretecompany(“北京总公司”);root.Add(newHRDepartment(”总公司人力资源部”));root.Add(newFinanceDepartment(“总公司财务部”));concretecompanycomp=newcOncretecompany(“上海分公司”);comp.Add(newHRDepartment(“上海分公司人力资源部”));comp.Add(newFinanceDepartment(“上海分公司财务部”));(7);ConcreteCompanycompl=newconcretecompany(”南京办事处”);compl.Add(newHRDepartment(”南京办事处人力资源部”));compl.Add(newFinanceDepartment(”南京办事处财务部”);(8);//其他代码省略}}
发布时间:2024-04-10 08:07:02