python 子类调用父类成员的方法

Posted 魂~

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python 子类调用父类成员的方法相关的知识,希望对你有一定的参考价值。

1.直接写类名调用: parent_class.parent_attribute(self)

 1 class Animal():
 2 
 3     def __init__(self, name):
 4         self.name = name
 5 
 6     def say_name(self):
 7         print(self.name)
 8 
 9 
10 class Dog(Animal):
11 
12     def __init__(self, name):
13         Animal.__init__(self, name)
14 
15     def say_name(self):
16         Animal.say_name(self)
17 
18 
19 dog = Dog(小虎)
20 dog.say_name()   # 打印‘小虎‘

扩展:实例对象和类对象调用实例函数。

 1 class Animal():
 2 
 3     def __init__(self, name):
 4         self.name = name
 5 
 6     def say_name(self):
 7         print(self.name)
 8 
 9 animal = Animal(nada)
10 animal.say_name()         # 实例对象调用实例函数,输出nada
11 Animal.say_name(animal)   # 类对象调用实例函数,需要传入一个对象实例作为参数,输出nada

2.用 super(type, obj).method(arg)方法调用:super(child_class, child_object).parent_attribute(arg)   【不需要写self】

 1 class Animal(object):
 2 
 3     def __init__(self, name):
 4         super(Animal, self).__init__()
 5         self.name = name
 6 
 7     def say_name(self):
 8         print(self.name)
 9 
10 
11 class Dog(Animal):
12 
13     def __init__(self, name):
14         super(Dog, self).__init__(name)
15 
16     def say_name(self):
17         super(Dog, self).say_name()
18 
19 
20 dog = Dog(小虎)
21 dog.say_name()    # 输出小虎

 

以上是关于python 子类调用父类成员的方法的主要内容,如果未能解决你的问题,请参考以下文章

java中,子类能调用父类中所有方法、对象吗?是不是父类也能调用子类所有……?

多态

python多继承中子类访问祖先类的同名成员

Python入门精华-OOP调用父类的方法及MRO方法解析序列

java中怎么样调用父类中的成员变量的值?谢谢!!!

java中私有的属性、静态成员可以被子类继承吗?