python中子类父类继承具体指什么 是指第二个类的参数是第一个类吗,加于不加有什么区别呢
PHPz
PHPz 2017-04-18 10:21:28
0
1
570

这两个不同代码块有撒区别,最后的结果是一样的啊

class A(object):
    def __init__(self, name):
        self.name=name
        print ("name:", self.name)
    def getName(self):
        return 'A ' + self.name

class B(A):
    def __init__(self, name):
        print ("hi")
        self.name = name
    def getName(self):
        return 'B '+self.name

if __name__=='__main__':
    b=B('hello')
    print( b.getName())
#di二ge
class A(object):
    def __init__(self, name):
        self.name=name
        print ("name:", self.name)
    def getName(self):
        return 'A ' + self.name

class B(A):
    def __init__(self, name):
        super(B, self).__init__(name)
        print ("hi")
        self.name =  name
    def getName(self):
        return 'B '+self.name

if __name__=='__main__':
    b=B('hello')
    print (b.getName())
PHPz
PHPz

学习是最好的投资!

全員に返信(1)
Ty80

最終結果が同じになるのはなぜですか?
最初の結果:
hi
B hello
2 番目の結果:
('name:', 'hello')
hi
B hello

2 番目の関数は親クラスの A.__init__("hello") を呼び出しますが、最初の関数は親クラスの __init__(self, name) 関数をオーバーライドします。

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート