西南科技大学计算机学院 《面向对象系统分析和设计》实验报告
}
public AbstractTextbox createTextbox(){ System.out.println(\生成 blue textbox\); return new BlueTextbox(); }
public AbstractCombobox createCombobox(){ System.out.println(\生成 blue combobox\); return new BlueCombobox(); }
}
public interface AbstractButton { public void action();
}
public class GreenButton implements AbstractButton { @Override
public void action() {
System.out.println(\); }
}
public class BlueButton implements AbstractButton { @Override
public void action() {
System.out.println(\); }
}
public interface AbstractTextbox { public void action();
}
public class GreenTextbox implements AbstractTextbox { @Override
public void action() {
System.out.println(\); }
}
public class BlueTextbox implements AbstractTextbox { @Override
public void action() {
System.out.println(\); }
}
public interface AbstractCombobox { public void action();
}
13
西南科技大学计算机学院 《面向对象系统分析和设计》实验报告 public class GreenCombobox implements AbstractCombobox { public void action() {
System.out.println(\); }
}
public class BlueCombobox implements AbstractCombobox { public void action() {
System.out.println(\); }
}
3) 实现结果:
7. 麦当劳(McDonalds)和肯德基(KFC)快餐店都经营汉堡(Hamburg)和可乐(Cola),用控制台应用程序实现这两个快餐店经营产品的抽象工厂模式,并绘制该模式的UML图。
1) 类图
14
西南科技大学计算机学院 《面向对象系统分析和设计》实验报告
2) 实现代码:
public class Client {
public static void main(String[] args) { Hamburg h; Cola c;
AbstractFactory af = new MDNFactory(); h = af.createHamburg(); c = af.createCola(); h.getHumburg(); c.getCola();
af = new KDJFactory(); h = af.createHamburg(); c = af.createCola(); h.getHumburg(); c.getCola(); }
}
public interface AbstractFactory { public Hamburg createHamburg(); public Cola createCola(); }
public class KDJFactory implements AbstractFactory { @Override
public Hamburg createHamburg() {
15
西南科技大学计算机学院 《面向对象系统分析和设计》实验报告 }
public class MDNFactory implements AbstractFactory { @Override
public Hamburg createHamburg() { return new MDNHamburg(); }
@Override
public Cola createCola() { return new MDNCola(); } }
public interface Cola { public void getCola(); }
public class KDJCola implements Cola { @Override
public void getCola() {
System.out.println(\); } }
public class MDNCola implements Cola { @Override
public void getCola() {
System.out.println(\); } }
public interface Hamburg { public void getHumburg(); }
public class KDJHamburg implements Hamburg {
return new KDJHamburg(); }
@Override
public Cola createCola() { return new KDJCola(); }
16
相关推荐: