class Car():
def __init__(self, make, model, year):
self.make = make
self.model = model
self.year = year
self.odometer_reading = 0
def get_descriptive_name(self):
long_name = '产自'+str(self.year) + '年' + self.make + ' ' + self.model
return long_name.title()

def read_odometer(self):
print("This car has " + str(self.odometer_reading) + " miles on it.")

def update_odometer(self, mileage):
if mileage >= self.odometer_reading:
self.odometer_reading = mileage
else:
print("You can't roll back an odometer!")
def increment_odometer(self, miles):
self.odometer_reading += miles
def fill_gas_tank(self):
print("XXXXXXXXXXXXXXXxx")

class Battery():
def __init__(self, battery_size=70):
self.battery_size = battery_size
def describe_battery(self):
print("This car has a " + str(self.battery_size) + "-kWh battery.")
def set_battery(self,battery_size):
self.battery_size=battery_size --------------------创建电瓶对象

class ElectricCar(Car):
def __init__(self, make, model, year):
super().__init__(make, model, year)
self.battery=Battery()--------------------->这行代码让Python创建一个新的Battery实例(由于没有指定尺寸,因此为默认值70),并将该实例存储在属性self.battery中。每当方法__init__()被调用时,都将执行该操作;因此现在每个ElectricCar实

例都包含一个自动创建的Battery实例。


def fill_gas_tank(self):
print("This car doesn't need a gas tank!")


myCar=ElectricCar('audo','A6L',2020)
print(myCar.get_descriptive_name())
myCar.battery.describe_battery()------->这行代码让Python在实例myCar中查找属性battery,并对存储在该属性中的Battery实例调用方法describe_battery()

myCar.battery.set_battery(100)------->调用属性中的方法
myCar.battery.describe_battery()
myCar.fill_gas_tank()