zoukankan      html  css  js  c++  java
  • 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将失败

    杨河
  • 相关阅读:
    Taxes
    Tennis Championship
    Urbanization
    字符串的匹配
    Alyona and a tree
    Alyona and mex
    Alyona and flowers
    Alyona and copybooks
    Subordinates
    线程的暂停、恢复和终止
  • 原文地址:https://www.cnblogs.com/yang-he/p/11481433.html
Copyright © 2011-2022 走看看