python设计抽象类 Base ,提供两个接口get_area() 、get_circumference() 设计Circle 类继承此抽象Base类并实现方法 设计Rectangular 类继承此抽象Base类并实现方法
时间: 2024-09-13 12:11:50 浏览: 29
编写一个抽象类Shape
4星 · 用户满意度95%
在Python中,可以使用`abc`模块(Abstract Base Classes)来创建抽象类。抽象类是不能被实例化的类,它通常包含一个或多个抽象方法,这些方法是未实现的,需要由继承它的子类来具体实现。下面是如何设计一个名为`Base`的抽象类,并提供两个抽象方法`get_area()`和`get_circumference()`。接着,我们将设计两个具体的类`Circle`和`Rectangular`来继承这个抽象类,并实现这些方法。
```python
from abc import ABC, abstractmethod
class Base(ABC):
@abstractmethod
def get_area(self):
pass
@abstractmethod
def get_circumference(self):
pass
class Circle(Base):
def __init__(self, radius):
self.radius = radius
def get_area(self):
return 3.14159 * self.radius * self.radius
def get_circumference(self):
return 2 * 3.14159 * self.radius
class Rectangular(Base):
def __init__(self, width, height):
self.width = width
self.height = height
def get_area(self):
return self.width * self.height
def get_circumference(self):
return 2 * (self.width + self.height)
```
在上述代码中,`Base`是一个抽象类,它定义了两个抽象方法`get_area()`和`get_circumference()`。`Circle`类继承自`Base`类,并提供了这两个方法的具体实现,计算圆的面积和周长。`Rectangular`类同样继承自`Base`类,并根据矩形的特点实现了这两个方法。
阅读全文