用面向对象程序设计方法,编写代码,输出客车的基本信息(品牌、颜色、座位数)、货车的基本信息(品牌、颜色、载重量); 要求程序可执行,体现封装性、继承性和多态性。
时间: 2023-07-04 15:26:49 浏览: 91
好的,我可以为您编写这个程序示例。首先,我们需要定义一个基类 Vehicle,它包含品牌和颜色两个属性和一个 getInfo() 方法用于输出基本信息。
```python
class Vehicle:
def __init__(self, brand, color):
self.brand = brand
self.color = color
def getInfo(self):
pass # 需要在子类中实现
```
然后,我们可以定义两个子类,一个是客车 Bus,另一个是货车 Truck。这两个子类都继承自 Vehicle,并且都有自己独特的属性和实现 getInfo() 方法的方式。
```python
class Bus(Vehicle):
def __init__(self, brand, color, seats):
super().__init__(brand, color)
self.seats = seats
def getInfo(self):
return f"客车:{self.brand},颜色:{self.color},座位数:{self.seats}"
class Truck(Vehicle):
def __init__(self, brand, color, load):
super().__init__(brand, color)
self.load = load
def getInfo(self):
return f"货车:{self.brand},颜色:{self.color},载重量:{self.load}"
```
在这里,我们使用了 super() 函数来调用父类的构造函数,以便初始化继承的属性。然后,在 getInfo() 方法中,我们使用字符串格式化来输出各自的基本信息。
最后,我们可以创建几个对象并调用它们的 getInfo() 方法来输出它们的基本信息。
```python
bus = Bus("Yutong", "White", 50)
print(bus.getInfo()) # 输出:客车:Yutong,颜色:White,座位数:50
truck = Truck("Dongfeng", "Blue", 10)
print(truck.getInfo()) # 输出:货车:Dongfeng,颜色:Blue,载重量:10
```
在这里,我们创建了一个 Bus 对象和一个 Truck 对象,并分别输出了它们的基本信息。
阅读全文