一、组合:将没有继承关系的类放在一个类中就是组合
class Turtle: def __init__(self,x): self.num = x class Fish: def __init__(self,y): self.num = y class Pool: def __init__(self,x,y): self.turtle = Turtle(x) self.fish = Fish(y) def print_num(self): print('水池里共有乌龟%d只,小鱼%d条'%(self.turtle.num,self.fish.num)) pool = Pool(3,7) pool.print_num()
二、属性和方法名命名规则
1、不要试图在一个类里面定义出所有能想到的特性和方法,应该利用继承和组合机制来进行扩展
2、用不同的词性命名,如属性名用名词,方法名用动词
三、绑定
python严格要求方法需要有实例才能被调用,这种限制其实就是python所谓的绑定概念
四、类、类对象和实例对象
class C: count = 0#类中的count为静态属性 a = C() b = C() c = C() print(a.count)#结果:0 print(b.count)#结果:0 print(c.count,'------------')#结果:0 c.count += 10#实例对象中给count赋值,相当于是实例属性将类属性覆盖了 print(a.count)#结果:0 print(b.count)#结果:0 print(c.count,'------------')#结果:10 C.count+=100#类对象修改了类属性count的值 print(a.count)#结果:100 print(b.count)#结果:100 print(c.count,'------------')#结果:10,因为实例属性将类属性覆盖,因此a和b仍然是100,而c仍然是10