python 抽象类
时间: 2023-08-25 16:15:11 浏览: 105
Python抽象类的新写法
Python中的抽象类是一个包含抽象方法(只有方法声明,没有实现)的类。抽象类不能被实例化,而是用作其他类的基类。它提供了一种定义接口的方式,要求继承它的子类必须实现抽象方法。
要创建抽象类,需要使用`abc`模块。下面是一个简单的示例:
```python
from abc import ABC, abstractmethod
class AbstractClass(ABC):
@abstractmethod
def abstract_method(self):
pass
def concrete_method(self):
print("This is a concrete method.")
class ConcreteClass(AbstractClass):
def abstract_method(self):
print("Implementation of abstract method.")
# 无法实例化抽象类
# abstract_obj = AbstractClass()
concrete_obj = ConcreteClass()
concrete_obj.abstract_method() # 输出: Implementation of abstract method.
concrete_obj.concrete_method() # 输出: This is a concrete method.
```
在上面的示例中,`AbstractClass`是一个抽象类,其中包含一个抽象方法`abstract_method()`和一个具体方法`concrete_method()`。子类`ConcreteClass`继承了`AbstractClass`并实现了抽象方法。注意,如果子类没有实现抽象方法,则尝试实例化该子类会引发TypeError。
通过使用抽象类和抽象方法,可以确保子类按照规定的接口进行实现,提供了一种约束和规范的方式。
阅读全文