在Python3.4中,声明抽象基类最简单的方式是子类话abc.ABC;Python3.0到Python3.3,必须在class语句中使用metaclass=ABCMeta;Python2中使用__metaclass__=ABCMeta
Python3.4 实现方法:
from abc import ABC, abstractmethod class Foo(ABC): @abstractmethod def fun(self): '''please Implemente in subclass''' class SubFoo(Foo): def fun(self): print('fun in SubFoo') a = SubFoo() a.fun()
from abc import abstractmethod, ABCMeta class Bar(metaclass=ABCMeta): @abstractmethod def fun(self): '''please Implemente in subclass''' class SubBar(Bar): def fun(self): print('fun in SubBar') b = SubBar() b.fun()
from abc import ABCMeta, abstractmethod class FooBar(): __metaclass__ = ABCMeta @abstractmethod def fun(self): '''please Implemente in subclass''' class SubFooBar(FooBar): def fun(self): print('fun in SubFooBar') a = SubFooBar() a.fun()