组合是把类的实例化放到一个新类里面
把横向关系的类组合到一起
class Fish:
def __init__(self,x):
self.num = x
class Turtle:
def __init__(self,y):
self.num = y
class Pool:
def __init__(self,x,y):
self.fish = Fish(x)
self.turtle = Turtle(y)
def print_num(self):
print("水池里一共有乌龟%d只,小鱼%d条"%(self.turtle.num,self.fish.num))
#这里python3需要加括号,不然会报错**not enough arguments for format string**
pool= Pool(1,10)
pool.print_num()
属性名和方法名相同,属性会覆盖方法
class C:
def x(self):
print('X-man!!!')
c=C()
c.x()
c.x=1#属性名和方法名相同,属性会覆盖方法
c.x()#前一步的int属性覆盖方法
#什么是绑定
类属性
class CC:
def SetXY(self,x,y):
self.x=x
self.y=y
def printXY(self):
print(self.x,self.y)
dd=CC()#CC是类,dd是CC的实例对象
dd.SetXY(4,5)
dd.printXY()
del CC#删除类,实例对象任然可以调用,因为他们依然是存放在内存中的
dd.printXY()