宝马工厂制造宝马汽车,奔驰工厂制造奔驰汽车。使用工厂方法模式给出相应的类图的PLANTUML代码
时间: 2024-09-29 19:03:33 浏览: 174
在工厂方法模式中,我们创建一个抽象的工厂类,它包含了创建产品的方法,然后让各个具体的工厂子类来实现这些方法,生产特定品牌的产品。这里是一个简单的 PLANTUML 类图示例,展示了宝马(BMW)工厂和奔驰(MERCEDES)工厂以及它们各自生产的汽车:
```plantuml
@startuml
abstract class Car {
+make()
-engine()
-engine() as "宝马引擎"
-wheels() as "4个轮子"
}
class MERCEDESCar < Car {
+getMake() as "奔驰"
-engine() as "奔驰引擎"
-wheels() as "4个轮子"
}
interface Factory {
Car createCar()
}
class BMWFactory implements Factory {
Car createCar() { return new BMWCar(); }
}
class MERCEDESFactory implements Factory {
Car createCar() { return new MERCEDESCar(); }
}
// 创建工厂和实例化汽车
BMWFactory bmwFactory = new BMWFactory()
MERCEDESFactory mercedesFactory = new MERCEDESFactory()
Car myBMW = bmwFactory.createCar()
Car myMercedes = mercedesFactory.createCar()
myBMW.make() // 输出:宝马
myMercedes.make() // 输出:奔驰
@enduml
```
这个类图表示了工厂方法模式的核心结构:`Car`作为抽象的基类,`BMWCar`和`MERCEDESCar`作为具体产品的实现,`Factory`接口定义了创建汽车的操作,而`BMWFactory`和`MERCEDESFactory`负责各自的生产和返回对应的汽车对象。
阅读全文