zoukankan      html  css  js  c++  java
  • 跟新恢复(回家了一趟)

    绑定

    #认识绑定方法
    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()) #计算环形的面积

    通俗来说,就是多个类之间相互作用时。一个对象的属性值使另外一个类的对象。

  • 相关阅读:
    [HDOJ1827]Summer Holiday(强连通分量,缩点)
    [CF676C]Vasya and String(尺取法,原题)
    [51NOD1105]第k大的数(二分答案)
    [51NOD]BSG白山极客挑战赛
    [HDOJ4635]Strongly connected(强连通分量,缩点)
    Miller_Rabin(米勒拉宾)素数测试算法
    hdu 3501 Calculation 2 欧拉函数
    codeforces 350 div2 D Magic Powder
    codeforces 350 div2 C. Cinema map标记
    hdu 2824 The Euler function 欧拉函数打表
  • 原文地址:https://www.cnblogs.com/zly9527/p/11569213.html
Copyright © 2011-2022 走看看