# 类的的操作实例 # 子类ECar继承父类Car,并将实例Battery用作属性 class Car(): def __init__(self, name, model, year): self.name = name self.model = model self.year = year self.odometer = 0 # 里程数,默认值为0 def des_info(self): print(self.name.title(), self.model, self.year, self.odometer) def set_odometer(self, num): self.odometer = num def get_odometer(self): print('车辆行驶里程:', self.odometer) class ECar(Car): '''子类ECar继承父类Car,具有特殊属性battery''' def __init__(self, name, model, year): '''初始化父类属性,再初始化特有属性''' super().__init__(name, model, year) self.battery = Battery() # 将实例用作属性 def get_meter(self): print('最大行驶里程:', self.battery.get_meter()) class Battery(): def __init__(self, size=70): self.size = size def get_meter(self): '''电池可行驶的最大里程''' miles = self.size * 5 return miles
# 测试代码
my_car = Car('Audi', 'A4', 2016) my_car.des_info() my_car.set_odometer(1000) my_car.get_odometer() your_car = ECar('tesla', 'Model S', 2017) your_car.des_info() your_car.get_meter()
运行结果:
Audi A4 2016 0 车辆行驶里程: 1000 Tesla Model S 2017 0 最大行驶里程: 350