from abc import ABCMeta, abstractmethod
class Base(metaclass=ABCMeta): # 定义抽象类
@abstractmethod # 定义抽象方法,如果子类不重写这个方法就会继承这个抽象方法,创建对象的时候会报错 TypeError: Can't instantiate abstract class Normal with abstract methods login
def login(self):
pass
class Normal(Base):
# def login(self): 1、子类不实现login()方法,那么创建子类对象的时候就会抛出异常
# pass
n = Normal() # 2、 TypeError: Can't instantiate abstract class Normal with abstract methods login
# 注意:如果抽象类中全部是抽象方法,那么和go语言的接口是一样的。
# 接口:只提供了公开的方法,并没有提供方法的具体实现。