定义一个汽车类Car,包含车牌号cno品牌brand、价格price和颜色color。其中无参数实例方法print_info()打印对象所有信息带参数实例方法drive()打印出参数目的地。(1)增加一个类属性warming,初始化为“喝酒不开车,开车不喝酒!” (2)增加一个类方法set_warning(),可以修改类属性warning的值。 (3)修改drive()方法,首先打印出类属性warming的值,再打印出参数目的地 (4)在测试代码中调用set_warning(),再调用drive()。
时间: 2024-03-16 08:45:23 浏览: 114
好的,以下是实现汽车类Car的代码:
```python
class Car:
warming = "喝酒不开车,开车不喝酒!"
def __init__(self, cno, brand, price, color):
self.cno = cno
self.brand = brand
self.price = price
self.color = color
def print_info(self):
print("车牌号:", self.cno)
print("品牌:", self.brand)
print("价格:", self.price)
print("颜色:", self.color)
@classmethod
def set_warning(cls, new_warning):
cls.warming = new_warning
def drive(self, destination):
print(Car.warming)
print("开往:", destination)
```
以下是测试代码:
```python
# 创建一个汽车对象
my_car = Car("京A12345", "BMW", 500000, "黑色")
# 调用print_info()方法
my_car.print_info()
# 调用drive()方法
my_car.drive("北京")
# 修改类属性warming的值
Car.set_warning("安全第一,文明驾驶!")
# 再次调用drive()方法
my_car.drive("上海")
```
输出结果为:
```
车牌号: 京A12345
品牌: BMW
价格: 500000
颜色: 黑色
喝酒不开车,开车不喝酒!
开往: 北京
安全第一,文明驾驶!
开往: 上海
```
可以看到,类属性warming的初始值被成功修改,并且drive()方法也被修改,先打印出了新的类属性warming的值,再打印出了目的地。
阅读全文