Python継承、サブクラス呼び出し親メンバーとメソッド

6387 ワード

Pythonの最大の特徴はオブジェクト向けで、クラスを代表するにはいくつかの奇妙な方法があります.init__ あ、_new__なんて.
__init__Pythonクラスでの初期化方法なので、継承関係では の初期化方法はすべてこれで、子クラスがこの関数を実現するには、親のこの関数を上書きし、親を継承する以上、この関数で親の__を明示的に呼び出しますinit__()
class Animal():
    def __init__(self, name):
        self.name = name
 
    def saySomething(self):
        print("I am " + self.name)
 
class Dog(Animal):
    def __init__(self, name):
        super().__init__(name)
 
    def saySomething(self):
        print ("I am "+ self.name + ", and I can bark")
 
    def animal_say_1(self):
        #          
        #    1
        super(Dog, self).saySomething()
 
    def animal_say_2(self):
        #    2 [  ]
        super().saySomething()
    
    def animal_say_3(self):
        #   3
        Animal.saySomething(self)
 
 
if __name__ == "__main__":
    dog = Dog("Blake")
    dog.saySomething()
    dog.animal_say_1()
    dog.animal_say_2()
    dog.animal_say_3()
    #               
    super(Dog, dog).saySomething()

if __name__=='__main__':
    b=B('hello')
    print b.getName()
      :
python python_class_inheritance_example.py
I am Blake, and I can bark
I am Blake
I am Blake
I am Blake
I am Blake

参考原文:https://www.omegaxyz.com/2017/12/11/python_inherit/
もっと自分の考えを加えたいと思っていたので、時間があれば補充するしかありませんでした.あなたたちが発表を見た時間を信じません.