圆(Circle)类:私有属性radius,有一个参数的构造方法、setRadius方法、getRadius方法、cir方法(周长)、area方法(面积),print方法(输出圆的半径)。
圆柱体(Cylinder):私有属性height,有两个个参数的构造方法,setHeight方法、getHeight方法、barea方法(计算表面积)、vol方法(计算体积)、输出半径和高的方法print。

#定义圆类Circle
class Circle:
    def __init__(self,radius):
        #初始化私有半径
        self.__radius=radius
    #获取圆半径
    def getRadius(self):
        return self.__radius
    #设置圆半径
    def setRadius(self,r):
        self.__radius=r
    #计算面积
    def area(self):
        return 3.14*self.__radius**2
    #计算周长
    def cir(self):
        return 2*3.14*self.__radius
    #返回字符串表达式
    def __str__(self):
        return '半径是:'+str(self.__radius)
#定义圆柱体类
class Cylinder(Circle):
    #定义圆柱体构造方法
    def __init__(self,radius,height):
        Circle.__init__(self,radius)
        #调用父类的构造方法,传递长和宽
        super().__init__(radius)
        #添加本类新增的私有实例变量高,并初始化
        self.__height=height
    def getHeight(self):
        return self.__height
    def setHeight(self,h):
        self.__height=h
    def barea(self):
        return 3.14*2*self.getRadius()*self.__height+3.14*self.getRadius()**2*2
    def vol(self):
        return 3.14*self.getRadius()**2*self.__height
    def __str__(self):
        return '半径是:'+super().str(self.__radius)+'高是:'+str(self.__height)


if __name__=='__main__':
    c=Circle(5)
    print("半径为{0}的圆的面积为{1},周长是{2:.2f}".format(c.getRadius(),c.area(),c.cir()))
    cy = Cylinder(5, 9)
    print("半径为{0}的圆柱体的面积为{1},体积是{2}".format(cy.getRadius(),cy.barea(),cy.vol()))

![在这里插入图片描述](https://img-blog.csdnimg.cn/28c528012af349c29ca34b819586b373.pn

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐