个人理解抽象方法就是:父类的一个方法,继承的全部子类都必需要实现这个方法,不然报错。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
装饰器修饰的方法,就变成了抽象方法了。若是子类不实现就会报错。继承