【Python】继承

子类的方法__init__()

创建子类的实例时,Python首先需要完成的任务是给父类所有属性赋值,为此,子类的方法__init__()需要父类施以援手。

class Car():
    '''模拟汽车'''

    def __init__(self, name, model, year):
        '''初始化汽车的属性'''
        self.name = name
        self.model = model
        self.year = year
    def get_describe_car(self):
        long_name = str(self.year) + ' ' + self.name +' ' + self.model
        return(long_name.title())
class ElectricCar(Car):
    '''模拟电动汽车'''
    def __int__(self,make,model,year):
        '''初始化父类的属性'''
        super().__int__(make,model,year)

my_tesla = ElectricCar('tesla','model s',2016)
print(my_tesla.get_describe_car())

子类ElectricCar定义子类时,必须在括号内指定父类的名称,方法__init__()接受创建Car实例所需的信息

父类也称为超类(superclass),名称因此而得名

给子类方法

class Car():
    '''模拟汽车'''

    def __init__(self, name, model, year):
        '''初始化汽车的属性'''
        self.name = name
        self.model = model
        self.year = year
    def get_describe_car(self):
        long_name = str(self.year) + ' ' + self.name +' ' + self.model
        return(long_name.title())
class ElectricCar(Car):
    '''模拟电动汽车'''
    def __int__(self,make,model,year):
        '''初始化父类的属性
        再初始化电动汽车特有的属性
        '''
        super().__int__(make,model,year)
    def get_describe_year(self):
        '''打印一条描述电瓶容量的消息'''
        print("This car was made in "+str(self.year))
my_tesla = ElectricCar('tesla','model s',2016)
print(my_tesla.get_describe_car())
my_tesla.get_describe_year()

方法get_describe_year()是给子类定义的方法

posted @ 2017-11-23 23:51  OLIVER_QIN  阅读(198)  评论(0编辑  收藏  举报