car.py
class Car(): '''一次模拟汽车的简单尝试''' def __init__(self,make,model,year): '''初始化描述汽车的属性:制造商、型号、生产年份''' self.make = make self.model = model self.year = year self.odometer_reading = 24 #里程表读数 def update_odometer(self,mileage): #修改属性值 '''将里程表读数设置为指定的值''' self.odometer_reading += mileage def get_descriptive_name(self): '''返回整洁的描述信息''' long_name = str(self.year) + ' ' + self.make + ' ' + self.model return long_name.title() def read_odometer(self): '''打印一条指出汽车里程的信息''' print('这辆车的汽车里程是: ' + str(self.odometer_reading)) def fill_gas_tank(self): '''汽车油箱''' print('汽车有油箱')
electric_car.py
from car import Car class Battery(): '''模拟电动车电瓶''' def __init__(self,battery_size): '''初始化电瓶的属性''' self.battery_size = battery_size def describe_battery(self): '''打印一条描述电瓶容量的信息''' print('这辆电动车有: ' + str(self.battery_size) + ' 的电瓶容量') def fill_gas_tank(self): #重写父类的方法 '''电动车有电瓶''' print('汽车有电瓶') def get_rang(self): print('这辆车的行驶距离是: ' + str(self.battery_size*3)) #---------------------------------------------------------------------- #---------------------------------------------------------------------- #------------------------------------------------------------------ class ElectricCar(Car): '''电动车的独特之处''' def __init__(self,make,model,year): '''初始化父类属性''' super().__init__(make,model,year) self.battery = Battery(100)
my_cars.py
from car import Car from electric_car import ElectricCar my_beetle = Car('fengtian','beetle',2011) print(my_beetle.get_descriptive_name()) #-------------------------------------------------------- my_tesla = ElectricCar('特斯拉','model s ',2016) print(my_tesla.get_descriptive_name()) my_tesla.battery.fill_gas_tank() my_tesla.battery.describe_battery() my_tesla.battery.get_rang()
执行结果:
2011 Fengtian Beetle
2016 特斯拉 Model S
汽车有电瓶
这辆电动车有: 100 的电瓶容量
这辆车的行驶距离是: 300