编写程序在程序中定义一个抽象类aeea,两个area类的派生子类rectareq类和roundarea类,以及一个实现类implearea类 程序的实验要求如下 (1)抽象类area类中只包含一个抽象方法double area (2)子类roundarea类通过覆盖父类中的抽象方法area()求圆的面积,另一个子类rectarea类通过覆盖父类中的抽象方法area()求长方形的面积 (3)圆的半径和长方形的边分别定义为子类roundarea类和rectarea类的域,都为double类型 (4)implearea类中接收键盘输入,输入内容分别为长方形的边和圆的半径,并求出长方形和圆的面积显示在屏幕上。
时间: 2023-12-03 17:44:42 浏览: 129
以下是 Python 代码实现:
```python
from abc import ABC, abstractmethod
import math
class Area(ABC):
@abstractmethod
def area(self) -> float:
pass
class RectArea(Area):
def __init__(self, length: float, width: float):
self.length = length
self.width = width
def area(self) -> float:
return self.length * self.width
class RoundArea(Area):
def __init__(self, radius: float):
self.radius = radius
def area(self) -> float:
return math.pi * self.radius**2
class ImpleArea:
def __init__(self):
self.length = float(input("请输入长方形的长度:"))
self.width = float(input("请输入长方形的宽度:"))
self.radius = float(input("请输入圆的半径:"))
def calculate_area(self):
rect = RectArea(self.length, self.width)
round = RoundArea(self.radius)
print(f"长方形面积为:{rect.area()}")
print(f"圆的面积为:{round.area()}")
imple_area = ImpleArea()
imple_area.calculate_area()
```
运行程序,输入长方形的长度、宽度和圆的半径即可计算出长方形和圆的面积。
阅读全文