抽象方法 案列
时间: 2023-06-22 08:22:36 浏览: 93
抽象方法是一种方法,它没有具体的实现,只有方法的签名。它必须在抽象类中声明,并且不能在抽象类中实现。子类必须实现所有抽象方法才能被实例化。
以下是一个简单的抽象方法的示例:
```python
from abc import ABC, abstractmethod
class Shape(ABC):
@abstractmethod
def area(self):
pass
class Rectangle(Shape):
def __init__(self, length, width):
self.length = length
self.width = width
def area(self):
return self.length * self.width
class Circle(Shape):
def __init__(self, radius):
self.radius = radius
def area(self):
return 3.14 * (self.radius ** 2)
# 这里会报错,因为未实现抽象方法 area()
# s = Shape()
r = Rectangle(5, 3)
print("Rectangle area:", r.area())
c = Circle(4)
print("Circle area:", c.area())
```
在上面的例子中,`Shape` 是一个抽象类,它定义了一个抽象方法 `area()`。`Rectangle` 和 `Circle` 是 `Shape` 的子类,并且实现了 `area()` 方法。由于 `Shape` 是抽象类,它不能被实例化,但是它可以作为一个基类,被子类继承并实现其抽象方法。
阅读全文