Composite :
public class ClientA
{
public ClientA()
{
}
public static void main(String args[])
{
PourTeam cjsdn = new PourTeam();
Nothing nothing = new Nothing();
Wes109 wes109 = new Wes109();
Jameszhang james = new Jameszhang();
cjsdn.addPourMan(wes109);
cjsdn.addPourMan(nothing);
cjsdn.addPourMan(james);
System.out.println(cjsdn.getWisdom());
}
}
interface PourMan
{
public String getWisdom();
}
class Wes109 implements PourMan
{
public String getWisdom()
{
return "一个人走";
}
}
class Nothing implements PourMan
{
public String getWisdom()
{
return " 我等待..";
}
}
class Jameszhang implements PourMan
{
public String getWisdom()
{
return "灌...灌...灌...灌";
}
}
class PourTeam implements PourMan
{
private java.util.ArrayList pourManList = new java.util.ArrayList();
public void addPourMan(PourMan pourman)
{
pourManList.add(pourman);
}
public String getWisdom()
{
String result="";
for(int i=0;i<pourManList.size();i++)
{
result+=((PourMan)pourManList.get(i)).getWisdom();
}
return result;
}
}