请自行设计不同的行驶场景,在不同的场景中显示"汽车"的行驶状态。(3)采用多态的方法实现不同"汽车"对象的基本介绍
时间: 2023-12-27 21:05:36 浏览: 29
好的,我可以为您进一步完善关于车展的程序,增加更多行驶场景,并采用多态的方法实现不同汽车对象的基本介绍。具体实现如下:
```python
class Drive:
def __init__(self, car):
self.car = car
def start(self):
print(f"The {self.car.color} {self.car.car_type} starts moving.")
def stop(self):
print(f"The {self.car.color} {self.car.car_type} stops moving.")
class HighwayDrive(Drive):
def __init__(self, car):
super().__init__(car)
def speed_up(self):
print(f"The {self.car.color} {self.car.car_type} speeds up to 100 km/h.")
def slow_down(self):
print(f"The {self.car.color} {self.car.car_type} slows down to 50 km/h.")
class CityDrive(Drive):
def __init__(self, car):
super().__init__(car)
def speed_up(self):
print(f"The {self.car.color} {self.car.car_type} speeds up to 60 km/h.")
def slow_down(self):
print(f"The {self.car.color} {self.car.car_type} slows down to 30 km/h.")
class OffroadDrive(Drive):
def __init__(self, car):
super().__init__(car)
def speed_up(self):
print(f"The {self.car.color} {self.car.car_type} speeds up to 80 km/h.")
def slow_down(self):
print(f"The {self.car.color} {self.car.car_type} slows down to 20 km/h.")
suv1 = SUV(100000, "black")
suv2 = SUV(150000, "white")
sports_car1 = SportsCar(200000, "red")
truck1 = Truck(300000, "blue")
highway_drive = HighwayDrive(suv1)
city_drive = CityDrive(sports_car1)
offroad_drive = OffroadDrive(truck1)
highway_drive.start()
highway_drive.speed_up()
highway_drive.slow_down()
highway_drive.stop()
city_drive.start()
city_drive.speed_up()
city_drive.slow_down()
city_drive.stop()
offroad_drive.start()
offroad_drive.speed_up()
offroad_drive.slow_down()
offroad_drive.stop()
def introduce(car: Car):
if isinstance(car, SUV):
print(f"This is a {car.color} {car.car_type} with {car.wheel_num} wheels. Its price is {car.price}. It is perfect for family trips.")
elif isinstance(car, SportsCar):
print(f"This is a {car.color} {car.car_type} with {car.wheel_num} wheels. Its price is {car.price}. It is designed for speed and agility.")
elif isinstance(car, Truck):
print(f"This is a {car.color} {car.car_type} with {car.wheel_num} wheels. Its price is {car.price}. It is built for heavy duty work.")
else:
print("Unknown Car Type")
introduce(suv1)
introduce(sports_car1)
introduce(truck1)
```
以上就是更新后的车展程序,增加了三种不同的行驶场景,并采用多态的方式实现了不同汽车对象的基本介绍。希望能够满足您的需求。