# -*- 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__