個人理解抽象方法就是:父類的一個方法,繼承的全部子類都必需要實現這個方法,不然報錯。python
class Base(object): def _method(self): raise NotImplementedError(u"出錯了,你沒有實現這個抽象方法") class A(Base): def _method(self): print u"重寫了這個方法,就不會報錯了!"
這個例子,實現了抽象方法的功能。還有一個更加pythonic的方法,就是用abc.ABCMeta
code
import abc class Base(object): __metaclass__ = abc.ABCMeta @abc.abstractmethod def _method(self): return
父類經過定義__metaclass__ = abc.ABCMeta
,而後經過@abc.abstractmethod
裝飾器修飾的方法,就變成了抽象方法了。若是子類不實現就會報錯。繼承