定义一个抽象类Shape,它包含一个抽象方法getArea(),从Shape类派生出Rectangle和Circle类,这两个类都用getArea()方法计算对象的面积。编写应用程序使用Rectangle和Circle类。 实验要求:定义Rectangle和Circle类的构造方法,初始化成员变量。
时间: 2023-02-09 15:41:14 浏览: 150
在 Python 中,可以使用 `abc` (abstract base class) 模块来创建抽象类和抽象方法。
以下是一个示例代码:
```python
from abc import ABC, abstractmethod
class Shape(ABC):
@abstractmethod
def getArea(self):
pass
class Rectangle(Shape):
def __init__(self, width, height):
self.width = width
self.height = height
def getArea(self):
return self.width * self.height
class Circle(Shape):
def __init__(self, radius):
self.radius = radius
def getArea(self):
return 3.14 * self.radius * self.radius
rect = Rectangle(10, 20)
print(rect.getArea()) # 输出 200
circle = Circle(5)
print(circle.getArea()) # 输出 78.5
```
在这个例子中,我们创建了一个抽象类 `Shape`,它包含一个抽象方法 `getArea`。然后我们从 `Shape` 类派生出了两个类:`Rectangle` 和 `Circle`。这两个类都实现了 `getArea` 方法,用于计算对象的面积。最后,我们创建了一个矩形和一个圆形对象,并使用 `getArea` 方法计算它们的面积。
阅读全文