python 类的继承

python 类的继承

2 构造函数的继承

  • 如果我们要给实例 c 传参,我们就要使用到构造函数,那么构造函数该如何继承,同时子类中又如何定义自己的属性?

继承类的构造方法:

class Person(object):
 
    def __init__(self, name, age):
        self.name = name
        self.age = age
        self.weight = 'weight'
 
    def talk(self):
        print("person is talking....")
 
 
class Chinese(Person):
 
    def __init__(self, name, age, language):  # 先继承,在重构
        Person.__init__(self, name, age)  #继承父类的构造方法,也可以写成:super(Chinese,self).__init__(name,age)
        self.language = language    # 定义类的本身属性
 
    def walk(self):
        print('is walking...')
 
 
class American(Person):
    pass
 
c = Chinese('bigberg', 22, 'Chinese')  #一共传三个参数,两个继承的,一个自己的
  • 如果我们只是简单的在子类Chinese中定义一个构造函数,其实就是在重构。这样子类就不能继承父类的属性了。
  • 所以我们在定义子类的构造函数时,要先继承再构造,这样我们也能获取父类的属性了。
posted @ 2018-06-24 15:50  moonok  阅读(269)  评论(0编辑  收藏  举报