python学习day23 组合

组合:一个对象的属性值是另外一个类的对象
比如:alex.weapon 是 Weapon类的对象 ---> alex.weapon.hand18

 

练习

from math import pi
class Circle:
    def __init__(self,r):
        self.r = r
    def area(self):
        return self.r**2 * pi
    def perimeter(self):
        return 2*pi*self.r

class Ring:
    def __init__(self,outside_r,inside_r):
        self.outside_c = Circle(outside_r) # 属性值是另外一个类的对象
        self.inside_c = Circle(inside_r)
    def area(self):
        return self.outside_c.area() - self.inside_c.area()
    def perimeter(self):
        return self.outside_c.perimeter()+self.inside_c.perimeter()

 

posted @ 2018-11-12 20:15  xyfun72  阅读(105)  评论(0编辑  收藏  举报