关于类继承的实例
p84 例4-11
抽象类和多态
抽象类:包含抽象方法的类,而抽象方法不包含任何实现的代码,只能在其子类中实现抽象函数的代码
1.定义抽象类:
通过类库abc实现,在定义前需要从类库abc导入ABCMeta类(Metaclass for defining Abstract Base Classes,抽象基类的原类)和abstractmethod类:
from abc import ABCMeta,abstractmethod
在定义抽象类时需在类定义中增加如下代码:
__metaclass__=ABCMeta
即指定该类的元类是ABCMeta
如:class myabc(object):
__metaclass__=ABCMeta
在抽象类里面可以定义抽象方法,需在前面加上代码:@abstractmethod
抽象方法(不包含任何实现的代码)函数体常用pass,如:
class myabc(object):
__metaclass__=ABCMeta
@abstractmethod
def abcmethod(self):pass
2.实现抽象类
(未完待续)