01 | 实验内容
- 用工厂方法模式设计一个电动自行车工厂的模拟程序
要求:要为每种品牌的电动自行车提供一个子工厂,如:爱玛工厂专门负责生产爱玛牌电动自行车,雅迪工厂专门负责生产雅迪牌电动自行车。如果今后需要生产小牛牌电动自行车,只需要增加一个新的小牛电动自行车工厂即可,无须修改原有代码,使得整个系统具有更加的灵活性和可扩展性。 - 按照以上要求设计类图和编写Java源程序。
02 | 实验StarUML画类图
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/4252a2f3cf91b0d46d158f3de30ad7d4.jpeg)
- 注意:
- 继承的线是在Composite Structure选项卡下,而不是Classes(Basic)
- 类图中的《create》,用的是Annotations下的text。
03 | 相应源码
interface product{
public void car();
}
interface factory{
public product createcar();
}
class AmaFactory implements factory{
@Override
public product createcar() {
return new Amacar();
}
}
class YadiFactory implements factory{
@Override
public product createcar() {
return new Yadicar();
}
}
class Amacar implements product{
@Override
public void car() {
System.out.println("爱玛电动车成功生产啦");
}
}
class Yadicar implements product{
@Override
public void car() {
System.out.println("雅迪电动车成功生产啦");
}
}
public class Main {
public static void main(String[] args) {
AmaFactory am =new AmaFactory();
am.createcar().car();
System.out.println("====== 分割线 =========");
YadiFactory yadi=new YadiFactory();
yadi.createcar().car();
}
}
04 | 实验结果
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/2e608146a676d5e52b4ed3fbbf7cc38c.png)