创建一个基类shape,其中包含一个抽象方法area仅用于计算图形的面积 然后创建两个子类Rectangle和Circle 分别用于表示矩形和圆形 每个子类都实现area方法
时间: 2024-10-27 19:11:38 浏览: 22
Java:使用抽象类定义一个“形状类”,能够计算周长和面积。
好的,这是一个基于Python的抽象基类Shape及其两个子类Rectangle和Circle的例子,使用了`abc`模块(Abstract Base Classes)来定义抽象方法:
```python
from abc import ABC, abstractmethod
# 抽象基类 Shape
class Shape(ABC):
@abstractmethod
def area(self):
pass
# 子类 Rectangle
class Rectangle(Shape):
def __init__(self, width, height):
self.width = width
self.height = height
def area(self):
return self.width * self.height
# 子类 Circle
class Circle(Shape):
def __init__(self, radius):
self.radius = radius
def area(self):
return 3.14159 * (self.radius ** 2)
# 示例
rect = Rectangle(5, 10)
circle = Circle(7)
print("Rectangle Area:", rect.area())
print("Circle Area:", circle.area())
```
在这个例子中,`Shape` 是一个抽象基类,它声明了一个抽象方法`area`,所有继承自它的类都需要实现这个方法。`Rectangle` 和 `Circle` 都实现了`area`方法,分别用于计算矩形和圆形的面积。
阅读全文