跟新恢复(回家了一趟)
绑定
#认识绑定方法 def fuc():pass print(fuc) class Foo: def fuc(self): print('func') f1 = Foo() print(f1.fuc) print(Foo.fuc)
我们可以通过他们的内存地址可以发现,对象的绑定在类上的。就是说对象的方法是依托于类的,就相当于对象调用方法时,是把值传入类中的方法然后在得到返回。当调用时这个对象就与类绑定在一起了。
组合
指的是,在一个类中以另外一个类的对象作为数据属性,称为类的组合
实列:我们可以用一个计算圆环的面积来了解组合这个概念。
from math import pi class Circle: ''' 定义了一个圆形类; 提供计算面积(area)和周长(perimeter)的方法 ''' def __init__(self,radius): self.radius = radius def area(self): return pi * self.radius * self.radius def perimeter(self): return 2 * pi *self.radius circle = Circle(10) #实例化一个圆 area1 = circle.area() #计算圆面积 per1 = circle.perimeter() #计算圆周长 print(area1,per1) #打印圆面积和周长 class Ring: ''' 定义了一个圆环类 提供圆环的面积和周长的方法 ''' def __init__(self,radius_outside,radius_inside): self.outsid_circle = Circle(radius_outside) self.inside_circle = Circle(radius_inside) def area(self): return self.outsid_circle.area() - self.inside_circle.area() def perimeter(self): return self.outsid_circle.perimeter() + self.inside_circle.perimeter() ring = Ring(10,5) #实例化一个环形 print(ring.perimeter()) #计算环形的周长 print(ring.area()) #计算环形的面积
通俗来说,就是多个类之间相互作用时。一个对象的属性值使另外一个类的对象。