python继承和重写init方法--实例

来源:互联网 发布:阿里云节点选择 编辑:程序博客网 时间:2024/06/04 21:41
class FooParent(object):      def __init__(self):          self.parent = 'I\'m the parent.'          print 'Parent'            def bar(self,message):          print message, 'from Parent'            class FooChild(FooParent):      def __init__(self):          FooParent.__init__(self)          print 'Child'                def bar(self,message):          FooParent.bar(self,message)          print 'Child bar function.'          print self.parent            if __name__=='__main__':      fooChild = FooChild()      fooChild.bar('HelloWorld')  


super继承

class FooParent(object):      def __init__(self):          self.parent = 'I\'m the parent.'          print 'Parent'            def bar(self,message):          print message,'from Parent'    class FooChild(FooParent):      def __init__(self):          super(FooChild,self).__init__()          print 'Child'                def bar(self,message):          super(FooChild, self).bar(message)          print 'Child bar fuction'          print self.parent    if __name__ == '__main__':      fooChild = FooChild()      fooChild.bar('HelloWorld')  



  1. class Dad(object):  
  2.     def __init__(self, surname ):  
  3.         self.surname = surname  
  4.       
  5. class Son_1(Dad):  
  6.     def __init__(self, surname, name ):  
  7.         Dad.__init__(self, surname)  
  8.         self.name = name  
  9.   
  10. class Son_2(Dad):  
  11.     def __init__(self, surname):  
  12.         Dad.__init__(self, surname)  
  13.         self.name = 'Si'  
  14.   
  15. if __name__ == '__main__':   
  16.     son_1 = Son_1('Li''Goudan')  
  17.     print son_1.surname, son_1.name  
  18.     son_2 = Son_2('Li')  
  19.     print son_2.surname, son_2.name  
  20.       

0 0