类的专有方法(__init__)

# -*- coding: utf-8 -*-
#python 27
#xiaodeng
#http://www.cnblogs.com/zyxstar2003/archive/2011/03/21/1989954.html


#类的专有方法(__init__)



#__init__,类似于构造函数
#作用:初始化已实例化后的对象;初始化对象,在创建新对象时调用
class Student(object):
    def __init__(self,name='xiaodeng'):#默认参数
        self.name=name
        
    def say(self):
        print self.name
        
if __name__=='__main__':
    print
    student=Student()
    student.say()


    
'''
当我们实例化 student=Student('xiaodeng') 时,可以理解为:
student=object.__new__(Student)
Student.__init__(student,'xiaodeng')
'''



#子类可以不重写__init__,实例化子类时,会自动调用超类已定义的__init__
class A():
    def __init__(self,name):
        self.name=name
    def getName(self):
        return 'A '+self.name

class B(A):
    def getName(self):
        return 'B:'+self.name
    
if __name__=='__main__':
    b=B('china')
    print b.getName()#自动调用超类已定义的__init__

 

posted @ 2015-10-12 17:26  Xiao|Deng  阅读(241)  评论(0编辑  收藏  举报