概述:编写类时并非总是要从空白开始写,一个类继承另一个类,他将自动获得另一个类的所有属性和方法;原有的类称为父类,而新类称为子类。子类继承了其父类所有的属性和方法,同时还可以定义自己的属性和方法。
1.定义子类,并且继承父类
#Car是父类
class Car():
def __init__(self,make,model,years):
self.make=make
self.model=model
self.years=years
self.odometer_reading=0
def get_descriptive_name(self):
long_name=str(self.years)+' '+self.model+' '+self.make
return long_name
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 not roll back an odometer!')
def increment_odometer(self,miles):
self.odometer_reading+=miles
#子类
class ElectricCar(Car):
#定义子类时要在括号里指定父类的名字
def __init__(self,make,model,years):
# 方法__init__( )接受创建Car实例所需要的信息
super().__init__(make,model,years)
#将父类和子类关联起来。这行代码让python调用ElectricCar的父类的方法__inti__(),让ElectricCar包含父类的属性
self.battery_size=70
def describe_battery(self):
print('This car has a '+str(self.battery_size)+'-kwh battery')
#定义子类的新的属性self.battery_size,和方法describe_battery
my_tesla=ElectricCar('tesla','model',2016)
print(my_tesla.get_descriptive_name())
my_tesla.describe_battery()
=