# -*- coding: utf-8 -*-#python 27#xiaodeng#面向对象编程案例01class Behave(): def __init__(self,name): self.name=name def once(self): print "self.name-->",self.name def rename(self,newName):#重新赋值属性的def方法 self.name=newName def repeat(self,N):#repeat-重复 #新创建一个方法,其中调用once方法 for i in range(N): self.once() #beehive=Behave("xiaodeng")beehive.repeat(4)beehive.rename("FengMei")beehive.once()print beehive.name#点号后面可以接属性名或方法名()均可#重复赋值属性beehive.name="I love china"beehive.once()#返回值有一个None,原因是once构造函数只有print没有return语句#类的自带方法#__len__print beehive.name.__len__()print "----"*10#继承:子类继承父类(超类)的所有共有实例变量和方法,实现代码的重用,减少代码的编写量#python在类名后用一个圆括号表示继承关系,括号中的类表示父类#如果父类定义了__init__方法,则子类必须显示地调用父类的__init__方法,如果子类需要拓展父类的类行为,则可以添加__init__方法的参数class Subclass(Behave):#继承Behave超类中的方法 def once(self):#重写once(),针对once重写写其代码,原方法在此类中调用时失效 print '继承:',self.namebb=Subclass("hubei")bb.repeat(2)#小结'''1、定义函数(方法)和属性均有def语句2、函数第一个参数默认为self,实例化对象本身;他代表当前对象的地址3、__init__方法被称之为构造函数,也可以叫做初始化函数;目的是用来创建实例,他通过传递参数来初始化一个实例,__init__将主体部分新建的实例的属性正确绑定,并初始化其状态。4、类实例的行为由其他方法来实现,一般来讲,方法均会访问实例的属性5、一旦实例化一个类,你是对类实例调用方法,访问的是类实例的属性,重新绑定也是类实例的属性'''