Override predefined function : Class Virtual : Class : Python examples (example source code) Organized by topic

C++
PHP
Python


Python  »  Class   » [  Class Virtual  ]  Screenshots 
 



Override predefined function





class MyList:
    def __init__(self, start):
        #self.wrapped = start[:]                
        self.wrapped = []                       
        for x in start: self.wrapped.append(x)
    def __add__(self, other):
        return MyList(self.wrapped + other)
    def __mul__(self, time):
        return MyList(self.wrapped * time)
    def __getitem__(self, offset):
        return self.wrapped[offset]
    def __len__(self):
        return len(self.wrapped)
    def __getslice__(self, low, high):
        return MyList(self.wrapped[low:high])
    def append(self, node):
        self.wrapped.append(node)
    def __getattr__(self, name):                
        return getattr(self.wrapped, name)
    def __repr__(self):
        return 'self.wrapped'

class MyListSub(MyList):
    calls = 0                                  

    def __init__(self, start):
        self.adds = 0                          
        MyList.__init__(self, start)

    def __add__(self, other):
        MyListSub.calls = MyListSub.calls + 1  
        self.adds = self.adds + 1              
        return MyList.__add__(self, other)

    def stats(self):
        return self.calls, self.adds           

if __name__ == '__main__':
    x = MyListSub('A')
    y = MyListSub('B')
    print x[0]
    print x[1:]
    print x + ['C']
    print x + ['D']
    print y + ['E']
    print x.stats()
    
    

           
       
Related examples in the same category
1.  Virtual function: extend method behaviour Virtual function: extend method behaviour
2.  Virtual function in Python Virtual function in Python
3.  Virtual function in Python class Virtual function in Python class
4.  Virtual function in two base class Virtual function in two base class
5.  Virtual function in derived class is called Virtual function in derived class is called
























Home| Contact Us
Copyright 2003 - 04 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.