python对象调用父类的方法

#类定义
class People:
    #定义基本属性
    name = ''
    age = 0
    #定义私有属性,私有属性在类外部无法直接进行访问
    __weight = 0
    #定义构造方法
    def __init__(self,n,a,w):
        self.name = n
        self.age = a
        self.__weight = w
    def getWeight(self):
        return self.__weight
    def speak(self):
        #print("%s 说: 我 %d 岁。" %(self.name,self.age))
        print("{0:s} 说: 我 {1:d} 岁。体重 {2:d}kg".format(self.name, self.age,self.__weight))

#单继承示例
class Student(People):
    grade = ''

    def __init__(self,n,a,w,g):
        #调用父类的构函
        People.__init__(self,n,a,w)
        #super().__init__(self, n, a, w)
        self.grade = g

    #覆写父类的方法
    def speak(self):
        #People.speak(self)
        print("%s 说: 我 %d 岁了,我在读 %d 年级,体重%dkg"%(self.name,self.age,self.grade,self.getWeight()))



s = Student('ken',10,60,3)
s.speak()   #调用子类方法
super(Student, s).speak()   #调用父类方法

1.子类对象调用父类方法,用 super(type, obj).method(arg)方法调用。
2.在子类函数中调用父类方法,可以直接用super().method(arg) 或者 父类名.method(self,arg)

posted @ 2019-09-17 06:30  jadeshu  阅读(629)  评论(0编辑  收藏  举报