찾다

 >  Q&A  >  본문

python中子类父类继承具体指什么 是指第二个类的参数是第一个类吗,加于不加有什么区别呢

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

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())
PHPzPHPz2778일 전574

모든 응답(1)나는 대답할 것이다

  • PHP中文网

    PHP中文网2017-04-18 10:23:28

    어떻게 최종 결과가 같을 수 있나요?
    첫 번째 결과:
    hi
    B hello
    두 번째 결과:
    ('name:', 'hello')
    hi
    B hello

    두 번째는 상위 클래스의 A.__init__("hello")를 호출하는 반면, 첫 번째는 상위 클래스의 __init__(self, name) 함수를 재정의합니다.

    회신하다
    0
  • 취소회신하다