ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

类与对象之组合

2020-07-27 16:34:08  阅读:277  来源: 互联网

标签:perimeter return 组合 对象 self inner def out


# 第二大题:基于圆形类实现一个圆环类,要求接收参数 外圆半径和内圆半径

# 完成方法 :计算环形面积和环形周长(公式自己上网查)#Radius半径    Acreage面积 

# 要求,借助组合,要求组合圆形类的对象完成需求 Circular Ring圆环 perimeter周长

 

from math import pi

class Circle:

 

    def __init__(self,r):

        self.r=r

    def area(self):

        return pi*self.r*self.r  #必须要有返回值,方便在函数内部计算。

    def perimeter(self):

        return 2*pi*self.r       #必须要有返回值,方便在函数内部计算。

 

class Ring:

 

    def __init__(self,out_r,inner_r):

        out_r,inner_r=(out_r,inner_r) if out_r>inner_r else (inner_r,out_r) #这段代码可解决传递的半径#大小的顺序问题。

        self.out_c=Circle(out_r)  #内部完成实例化,用户体验更好。

        self.inner_c=Circle(inner_r)

    def computes(self):     #设计了一个计算方法,专门用于计算圆环的面积及周长,打印并返回值。

        'return 圆环的面积,圆环的周长'

        ringarea=self.out_c.area()-self.inner_c.area() #完成内部调用

        print('圆环的面积是:',ringarea)

        ringperimeter=self.out_c.perimeter()+self.inner_c.perimeter()

        print('圆环的周长是:',ringperimeter)

        return ringarea,ringperimeter

 

    #def area(self):       #另一种方式,没有用计算函数,而是分别用了面积和周长的方法。

        #return self.out_c.area()-self.inner_c.area()

    #def perimeter(self):  #另一种方式,没有用计算函数,而是分别用了面积和周长的方法。

       #return self.out_c.perimeter()+self.inner_c.perimeter()

 

ring=Ring(10,15)   #当一段代码中同样的公式、方法要在多处用时,最好用组合,公式只写#一处,其它的都是引用。可减少代码量,代码有错时,只需修改一处就可以了。

ring.computes()  

标签:perimeter,return,组合,对象,self,inner,def,out
来源: https://www.cnblogs.com/qqq789001/p/13386121.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有