Overriding the Constructor : Constructor « Class « Python Tutorial






class Bird:
   def __init__(self):
      self.hungry = 1

   def eat(self):
     if self.hungry:
        print 'Aaaah...'
        self.hungry = 0
     else:
        print 'No, thanks!' 

b = Bird() 
b.eat() 
b.eat() 


class Bird:
   def __init__(self):
      self.hungry = 1

   def eat(self):
     if self.hungry:
        print 'Aaaah...'
        self.hungry = 0
     else:
        print 'No, thanks!' 


class SongBird(Bird): 
    def __init__(self): 
        Bird.__init__(self)
        self.sound = 'Squawk!' 
    
    def sing(self): 
        print self.sound 

sb = SongBird() 
sb.sing() 
sb.eat()








11.8.Constructor
11.8.1.specify any necessary parameters to the __init__() function
11.8.2.Constructors: __init__
11.8.3.give the constructor some parameters to work with
11.8.4.Set properties when constructed
11.8.5.Overriding the Constructor
11.8.6.If you want the base class __init__() invoked
11.8.7.Class Time with default constructor.
11.8.8.Constructor with default parameter
11.8.9.Calling Superclass Constructors