Virtual function: extend method behaviour : Class Virtual « Class « Python

Home
Python
1.2D
2.Application
3.Buildin Function
4.Class
5.Data Structure
6.Data Type
7.Database
8.Development
9.Dictionary
10.Event
11.Exception
12.File
13.Function
14.GUI Pmw
15.GUI Tk
16.Language Basics
17.List
18.Math
19.Network
20.String
21.System
22.Thread
23.Tuple
24.Utility
25.XML
Python » Class » Class VirtualScreenshots 
Virtual function: extend method behaviour
Virtual function: extend method behaviour


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()

           
       
Related examples in the same category
1.Override predefined functionOverride predefined function
2.Virtual function in PythonVirtual function in Python
3.Virtual function in Python classVirtual function in Python class
4.Virtual function in two base classVirtual function in two base class
5.Virtual function in derived class is calledVirtual function in derived class is called
java2s.com  | Contact Us | Privacy Policy
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.