次の 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」になると予想していました。