设计模式之组合模式(cpomposite)

组合模式涉及的是一组对象,其中一些对象可能含有其他对象,这些对象也可以含有对象,因此,有些对象代表的是对象群组。 Composite模式的设计意图在于:让所有的用户能够用统一的接口处理单个对象以及对象群组

Java 组合模式示例

public interface Name {
	public String getName();
}

public class School implements Name{
	private String name;
	public School(String name)
	{
		this.name = name;
	}
	@Override
	public String getName() {
		return name;
	}
}

public class Grade implements Name{
	private String name;
	public Grade(String name)
	{
		this.name = name;
	}
	@Override
	public String getName() {
		return name;
	}
}

public class Student implements Name{
	private String name;
	public Student(String name)
	{
		this.name = name;
	}
	@Override
	public String getName() {
		return name;
	}
}

public class App {
	public static void main(String[] args)
	{
		School scholl = new School("清华大学");
		LogHelper.log(scholl.getName());

		Grade grade = new Grade("大一");
		LogHelper.log(grade.getName());

		Student stu = new Student("张三");
		LogHelper.log(stu.getName());
	}
}

运行结果为

【www.pangugle.com】-  清华大学
【www.pangugle.com】-  大一
【www.pangugle.com】-  张三