全部博文(19)
分类: Java
2011-11-17 15:09:08
package com;
import java.util.List;
public class Test {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Employer pm = new ProjectManager("项目经理");
Employer pa = new ProjectAssistant("项目助理");
Employer programmer1 = new Programmer("程序员1");
Employer programmer2 = new Programmer("程序员2");
pm.add(pa);
pm.add(programmer1);
pm.add(programmer2);
List ems = pm.getEmployers();
System.out.println(""+ems.toArray());
for(int i=0;i
System.out.println(((Employer)ems.get(i)).getName());
}
}
}
2.抽象类和抽象方法——父类
package com;
public class Programmer extends Employer {
public Programmer(String name) {
super();
employers = null;
this.setName(name);
// TODO Auto-generated constructor stub
}
@Override
public void add(Employer employer) {
// TODO Auto-generated method stub
}
@Override
public void delete(Employer employer) {
// TODO Auto-generated method stub
}
}
输出:
[Ljava.lang.Object;@14318bb
项目助理
程序员1
程序员2
4.总结
(1)组合模式主要用abstract来实现,设置父类abstract属性和abstract方法
(2)应用场景:
1.你想表示对象的部分-整*层次结构。 2.你希望用户忽略组合对象与单个对象的不同,用户将统一地使用组合结构中的所有对象。