美文网首页
python 抽象基类 abstractmethod

python 抽象基类 abstractmethod

作者: SkTj | 来源:发表于2019-12-03 13:46 被阅读0次

使用 abc 模块可以很轻松的定义抽象基类:

from abc import ABCMeta, abstractmethod

class IStream(metaclass=ABCMeta):
@abstractmethod
def read(self, maxbytes=-1):
pass

@abstractmethod
def write(self, data):
    pass

抽象类的一个特点是它不能直接被实例化,比如你想像下面这样做是不行的:

a = IStream() # TypeError: Can't instantiate abstract class
# IStream with abstract methods read, write
抽象类的目的就是让别的类继承它并实现特定的抽象方法:

class SocketStream(IStream):
def read(self, maxbytes=-1):
pass

def write(self, data):
    pass

相关文章

  • python 抽象基类 abstractmethod

    使用 abc 模块可以很轻松的定义抽象基类: from abc import ABCMeta, abstractm...

  • Python 抽象基类及@abstractmethod

    https://zhuanlan.zhihu.com/p/360144699[https://zhuanlan.z...

  • Python装饰器abstractmethod、property

    总览: @abstractmethod:抽象方法,含abstractmethod方法的类不能实例化,继承了含abs...

  • 深入理解 Python 类和对象(2) - 抽象基类

    抽象基类,即 Python 中的 abc 模块,Abstract Base Class。 Python 抽象基类可...

  • python抽象基类

    有时,我们抽象出一个基类,知道要有哪些方法,但只是抽象方法,并不实现功能,只能继承, 而不能被实例化,但子类必须要...

  • 深入理解类和对象

    1.1 抽象基类(abc模块) python的抽象类的写法,继承抽象类的类必须要实现抽象方法,否则会报错 1.2 ...

  • python之抽象基类

    python之抽象基类 抽象基类,在这个类中定义一些方法,所有继承这个类的类必须实现这个方法,并且这个类不能被实例...

  • 子类父类

    抽象类,加上@abc.abstractmethod装饰器后严格控制子类必须实现这个方法

  • python抽象基类abc

    python中并没有提供抽象类与抽象方法,但是提供了内置模块abc(abstract base class)来模拟...

  • Java IO流(二)

    IO流常用基类 字节流的抽象基类:InputStreamOutputStream字符流的抽象基类: ReaderW...

网友评论

      本文标题:python 抽象基类 abstractmethod

      本文链接:https://www.haomeiwen.com/subject/pnpcpctx.html