请给出交通工具的python抽象工厂模式代码
时间: 2024-05-16 16:13:19 浏览: 79
下面是一个交通工具的 Python 抽象工厂模式代码示例:
```python
from abc import ABC, abstractmethod
class Vehicle(ABC):
"""
抽象产品:交通工具
"""
@abstractmethod
def move(self):
pass
class Car(Vehicle):
"""
具体产品:汽车
"""
def move(self):
print("汽车正在行驶")
class Bicycle(Vehicle):
"""
具体产品:自行车
"""
def move(self):
print("自行车正在行驶")
class VehicleFactory(ABC):
"""
抽象工厂:交通工具工厂
"""
@abstractmethod
def create_vehicle(self):
pass
class CarFactory(VehicleFactory):
"""
具体工厂:汽车工厂
"""
def create_vehicle(self):
return Car()
class BicycleFactory(VehicleFactory):
"""
具体工厂:自行车工厂
"""
def create_vehicle(self):
return Bicycle()
# 使用示例
factory = CarFactory()
vehicle = factory.create_vehicle()
vehicle.move()
factory = BicycleFactory()
vehicle = factory.create_vehicle()
vehicle.move()
```
在上面的代码中,`Vehicle` 是抽象产品类,定义了交通工具的抽象方法 `move()`。`Car` 和 `Bicycle` 是具体产品类,实现了 `Vehicle` 的 `move()` 方法。
`VehicleFactory` 是抽象工厂类,定义了一个抽象方法 `create_vehicle()`,用于生产交通工具。`CarFactory` 和 `BicycleFactory` 是具体工厂类,分别实现了 `create_vehicle()` 方法,用于生产汽车和自行车。
在使用时,我们可以根据需要创建不同的工厂对象,然后调用其 `create_vehicle()` 方法来生产不同的交通工具对象。
阅读全文