1、模式理解:组合模式就是把两个对象放在一个对象里喽,确切的说是一个对象包含别的对象的集合,好比你一老板可以有很多个员工,够清除了吧
2、运用场景:单对多或者多对单的时候可以使用组合模式
3、代码示例:
//先创建员工对象
public class Staff {
String name;
public Staff(String name) {
this.name=name;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
//再创建老板对象,该对象是组合模式,因为老板由很多员工
public class Manager {
private String name;
private List<Staff> staffList;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public List<Staff> getStaffList() {
return staffList;
}
public void setStaffList(List<Staff> staffList) {
this.staffList = staffList;
}
}
//最后创建一个测试类测试一下
public class Main {
public static void main(String[] args) {
Staff s1=new Staff("土豆");
Staff s2=new Staff("番茄");
Staff s3=new Staff("花生");
List<Staff> staffs=new ArrayList<>();
staffs.add(s1);
staffs.add(s2);
staffs.add(s3);
Manager manager=new Manager();
manager.setStaffList(staffs);
for (Staff staff : manager.getStaffList()) {
System.out.println(staff.getName());
}
}
}