组合模式即采用集合存储本身应用作为分支,树形结构,保持部分与整体的层次模式。
示例代码:
public class Employee { String name; String dept; double salary; List<Employee> list = new ArrayList<>(); void add(Employee e){ list.add(e); } void remove(Employee e){ list.remove(e); } public Employee(String name, String dept, double salary) { this.name = name; this.dept = dept; this.salary = salary; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getDept() { return dept; } public void setDept(String dept) { this.dept = dept; } public double getSalary() { return salary; } public void setSalary(double salary) { this.salary = salary; } @Override public String toString() { return "Employee [name=" + name + ", dept=" + dept + ", salary=" + salary + ", list=" + list + "]"; } }测试代码:
public class Test { public static void main(String[] args) { Employee e1 = new Employee("张三", "技术部", 123); Employee e2 = new Employee("张四", "技术部", 123); Employee e3 = new Employee("李五", "技术部", 123); e1.add(e2); e1.add(e3); System.out.println(e1); } }