你看到的是今天的我,昨天的我已经死了

人生三从境界:昨夜西风凋碧树,独上高楼,望尽天涯路。 衣带渐宽终不悔,为伊消得人憔悴。 众里寻他千百度,蓦然回首,那人却在灯火阑珊处。

python抽象基类

抽象基类

抽象基类提了一种方式,用以组织对象的层次结构,做出关于所需方法的断言,以及实现其他一些功能

要定义抽象基类,需要使用abc模块,该模块定义了一个元类(ABCMeta) 和一组装饰器(@abstractmethod 和 abstractproperty)用法如下:

1 from abc import ABCMeta, abstractmethod, abstractproperty
2 class Foo:
3     __metaclass__ == ABCMeta
4     @abstractmethod
5     def spam(self, a, b):
6         pass
7     @abstractproperty
8     def name(self):
9         pass
View Code

抽象类离不开元类。在抽象类中@abstractmethod和@abstractproperty装饰去指定方法或特性必须由Foo的子类实现。

抽象类不能直接实例化。如果Bar继承自Foo,但它没有实现一个或多个抽象方法那么尝试创建Bar将失败

posted on 2019-09-07 16:12  橘子味的猫啊  阅读(495)  评论(0编辑  收藏  举报

导航