python - 将纯 Python 方法添加到扩展中实现的类?
问题描述
在一个 Python 库中,我正在研究一个ConcreteClassC
由扩展实现的类。除此之外,它的所有方法都在纯 Python 中声明ClassC(metaclass=abc.ABCMeta)
。到现在为止,所有的方法ClassC
都是@abstractmethod
s,并且ConcreteClassC
注册到calling ClassC.register(ConcreteClassC)
。图书馆的用户应该ClassC
只使用。提供了实例化对象的方法ClassC
,并在幕后实例化了ConcreteClassC
.
我想添加一个最好在纯 Python 中实现的新方法(即不在扩展中)。如果是类继承,我会将此方法添加为ClassC
. 但到目前为止,它还ConcreteClassC
不是 的“真正”子类ClassC
,因为我的新方法不适用于用户实例化的对象。
在这种情况下是否有使用模式?由于这只是添加新功能(不更改现有功能),我宁愿对现有架构不做任何更改或更改最少。
解决方案
推荐阅读
- javascript - 在 node.js 中,如何将二进制数据从 fetch 写入文件?
- c++ - 将静态库与 -nostdlib 链接时出现“对 __dso_handle 的未定义引用”
- php - 如何在PHP中自动插入可编辑数据表
- arrays - 关于行的“正值岛”中元素的位置
- typescript - 如何在 Typescript 中定义递归字符串文字类型
- android - Android Kotlin NavigationView 将角半径添加到项目图标
- vb.net - 无论如何我可以用电报机器人更改 textbox1.text 值吗?
- python - 错误:无法确定关系的真值
- java - 在创建从 T 类型展开的链表中创建二维数组的方法时遇到问题
- vhdl - 更改输入后,sha256 代码的输出保持不变