类似于接口的概念,便于统一API。
定义一个base class:
from abc import ABC, abstractmethod
class Person(ABC):
@abstractmethod # 定义抽象方法,无需实现功能
def get_name(self) -> str:
'''子类必须定义本方法'''
pass
@abstractmethod # 定义抽象方法,无需实现功能
def get_id(self) -> str:
'''子类必须定义本方法'''
pass
继承自上述Person类的子类必须实现 get_name、get_id这两个方法,否则会报错。
class Student(Person):
def get_name(self) -> str:
# 获取name, balabala
return name
def get_id(self) -> str:
# 获取id, balabala
return id