2. 定义一个抽象基类Shape, 该类包含一个抽象方法getArea(), 从Shape类派生出Circle类和Rectangle类,请利用getArea()方法计算两个类对象的面积。
时间: 2024-02-13 17:04:27 浏览: 75
好的,下面是代码实现:
```python
from abc import ABC, abstractmethod
class Shape(ABC):
@abstractmethod
def getArea(self):
pass
class Circle(Shape):
def __init__(self, radius):
self.radius = radius
def getArea(self):
return 3.14 * self.radius * self.radius
class Rectangle(Shape):
def __init__(self, length, width):
self.length = length
self.width = width
def getArea(self):
return self.length * self.width
# 测试代码
c = Circle(5)
r = Rectangle(4, 6)
print("圆的面积为:", c.getArea())
print("矩形的面积为:", r.getArea())
```
运行结果:
```
圆的面积为: 78.5
矩形的面积为: 24
```
以上代码定义了一个抽象基类 `Shape`,包含一个抽象方法 `getArea()`,然后使用 `Circle` 类和 `Rectangle` 类分别继承 `Shape` 类,并实现 `getArea()` 方法。在测试代码中,创建一个 `Circle` 对象和一个 `Rectangle` 对象,并调用它们的 `getArea()` 方法计算它们的面积,最后输出结果。
阅读全文