IT虾米网

python中的虚函数

flyfish 2018年06月24日 编程语言 2633 2
class Super: 
    def method(self): 
        print 'in Super.method'        
    def delegate(self): 
        self.action()                  
 
class Inheritor(Super):                
    pass 
 
class Replacer(Super):                 
    def method(self): 
        print 'in Replacer.method' 
 
class Extender(Super):                 
    def method(self): 
        print 'starting Extender.method' 
        Super.method(self) 
        print 'ending Extender.method' 
 
class Provider(Super):                 
    def action(self): 
        print 'in Provider.action' 
 
if __name__ == '__main__': 
    for klass in (Inheritor, Replacer, Extender): 
        print '\n' + klass.__name__ + '...' 
        klass().method() 
 
    print '\nProvider...' 
    x = Provider() 
    x.delegate()

评论关闭
IT虾米网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!