我不理解以下 Python 代码中的“Self”对象:
>>> class Ancestor( object ):
def __init__( self ):
self.name = "Ancestor"
def getName( self ):
return self.name
>>> class Base1( Ancestor ):
def __init__( self ):
self.name = "Base1"
super( Base1, self ).__init__( )
def getName( self ):
return self.name
>>> class Base2( Base1 ):
def __init__( self ):
self.name = "Base2"
super( Base2, self ).__init__( )
def getName( self ):
return self.name
def getB1Name( self ):
return super( Base2, self ).getName( )
>>> b2 = Base2( )
>>> b2.getName( )
'Ancestor'
>>> b2.getB1Name( )
'Ancestor'
我无法理解结果。我期待 b2.getName() 的结果是“Base2”,而 b2.getB1Name() 的结果是“Base1”