【Java代码】 import java.util.*; (1)Company { protectedString 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("总公司财务部") );