(5)编写类carfactory,该类定义了一个静态方法getcar(),它可以根据用户指定的车型
时间: 2024-01-22 11:19:01 浏览: 61
来创建并返回对应的Car对象。假设我们有三种车型:轿车、SUV和卡车,对应的类分别为Car、SUV和Truck。
代码如下:
```python
class Car:
def __init__(self):
self.type = 'car'
class SUV:
def __init__(self):
self.type = 'SUV'
class Truck:
def __init__(self):
self.type = 'truck'
class CarFactory:
@staticmethod
def getcar(car_type):
if car_type == 'car':
return Car()
elif car_type == 'SUV':
return SUV()
elif car_type == 'truck':
return Truck()
else:
raise ValueError('Invalid car type')
```
使用示例:
```python
car = CarFactory.getcar('car') # 创建一个轿车对象
suv = CarFactory.getcar('SUV') # 创建一个SUV对象
truck = CarFactory.getcar('truck') # 创建一个卡车对象
```
注意:这里使用了静态方法,因此可以通过类名直接调用getcar()方法,不需要先创建一个CarFactory对象。同时,如果传入的车型不在预定义的三种之内,将会抛出一个ValueError异常。
阅读全文