class Base(object): def login(self): raise NotImplementedError("子类没有实现该方法") # NotImplementedError 没有实现的错误 class Normal(Base): def login(self): pass class Member(Base): def denglu(self): pass class Admin(Base): def login(self): pass # 项目经理总入口 def login(obj): print("准备验证码...") obj.login() print("进入主页...") n = Normal() m = Member() a = Admin() login(n) login(m) # 报错 login(a)
from abc import ABCMeta, abstractmethod class Base(metaclass=ABCMeta): @abstractmethod def login(self): pass class Normal(Base): def login(self): pass class Member(Base): def denglu(self): pass class Admin(Base): def login(self): pass n = Normal() n.login() m = Member() # 报错 Can't instantiate abstract class Member with abstract methods login m.login() a = Admin() a.login()