UML类图
例如电脑的装机:
public class Computer{
//电脑组件集合
private List<String> parts = new List<String>();
//添加组件
public void Add(String part){
parts.add(part);
}
}
public abstract class Bulider{
//装CPU
public abstract void builderPartCPU();
//装主板
public abstract void builderPartMainBoard();
//获取组装好的电脑
public abstract Computer getComputer();
}
//具体的创建者 i5 华硕主板
public BuilderI5 extends Builder{
Computer computer = new Computer();
public void builderPartCPU(){
computer.add("i5 cpu");
}
public void builderPartMainBoard(){
computer.add("华硕主板");
}
public Computer getComputer(){
return computer;
}
}
//具体的创建者 i7 戴尔主板
public class BuilderI7 extends Builder{
Computer computer = new Computer();
public void builderPartCPU(){
computer.add("i7 cpu");
}
public void builderPartMainBoard(){
computer.add("戴尔主板");
}
public Computer getComputer(){
return computer;
}
}
public class Director{
//组装电脑
public void construct(Builder builder){
builder.builderPartCPU();
builder.builderPartMainBoard();
}
}
public class Customer{
public static void main(String[] args){
Director director = new Director();
Builder bI5 = new BuilderI5();
Builder bI7 = new BuilderI7();
director.construct(bI5);//组装I5机子
director.construct(bI7);//组装I7机子
Computer i5 = bI5.getComputer();
Computer i7 = bI7.getComputer();
//这里可以获得组装好的机子 进行其他的操作
//比如在Computer中 i5.playGame();等等
}
}
本文通过一个电脑组装的例子介绍了UML类图的基本概念及应用。示例中包含抽象类Builder,具体创建者BuilderI5和BuilderI7,以及Director类,展示了如何使用这些类来构建不同的电脑配置。
743

被折叠的 条评论
为什么被折叠?



