2、请用面向对象的方法编程计算圆、矩形、三角形的面积。要求:定义一个形状基类Shape,圆类Circle、矩形类Rectangle、三角形类Triangle是Shape的子类。Shape有一个求解面积的实例方法area(),Circle有半径r的实例属性及重定义父类求解面积的实例方法area(),Rectangle有长宽a,b的实例属性及重定义父类求解面积的实例方法area(),Triangle有三条边a,b,c的实例属性及重定义父类求解面积的实例方法area()。 其中文件shapeClass.py下的基类Shape的定义如下: class Shape: def area(self): return 0.0 任务(1)请在shapeClass.py文件下完成Circle类、Rectangle类、Triangle类的定义。
时间: 2023-06-03 22:06:27 浏览: 133
采用面向对象的程序设计方法编写一个计算图形面积的类,程序应当能够计算并输出圆、矩形和三角形的面积。
5星 · 资源好评率100%
# Circle类定义
class Circle(Shape):
def __init__(self, r):
self.r = r
def area(self):
return math.pi * self.r * self.r
# Rectangle类定义
class Rectangle(Shape):
def __init__(self, a, b):
self.a = a
self.b = b
def area(self):
return self.a * self.b
# Triangle类定义
class Triangle(Shape):
def __init__(self, a, b, c):
self.a = a
self.b = b
self.c = c
def area(self):
p = (self.a + self.b + self.c) / 2
return math.sqrt(p * (p - self.a) * (p - self.b) * (p - self.c))
阅读全文