类和子类继承

问题描述 投票:0回答:1

我有一些使用 IPYWidgets 的代码。它在 Jupyter 笔记本/实验室中运行良好,但在通用 Python 控制台中不起作用。该代码由一个父类和几个子类组成。其中两个子类使用 IPYWidgets。

我删除了两个子类中的 IPYWidgets 代码,现在有一个父类和一组运行良好的子类。子类由父类在 init 函数中实例化。

我创建了从非 IPYWidgets 版本继承并添加 IPYWidgets 功能的新子类。我可以独立运行这些子类,它们也工作得很好。

我现在想要创建一个启用 IPYWidgets 的父类,该父类继承自非 IPYWidgets 父类。它需要实例化子类的 IPYWidgets 版本而不是非 IPYWidgets 版本。

最好的方法是什么?

python inheritance ipywidgets
1个回答
0
投票

要创建一个支持 IPYWidgets 的父类,该父类继承自非 IPYWidgets 父类并实例化子类的 IPYWidgets 版本,您可以按照以下步骤操作:

创建非IPYWidgets父类: 定义您的非 IPYWidgets 父类及其子类集。确保此类在没有 IPYWidgets 的情况下按预期工作。

创建IPYWidgets子类: 创建从其非 IPYWidgets 对应项继承的子类的 IPYWidgets 版本。这样,您就可以为非 IPYWidgets 和 IPYWidgets 功能提供单独的类。

创建IPYWidgets父类: 现在,创建一个从非 IPYWidgets 父类继承的启用 IPYWidgets 的父类。在 IPYWidgets 父类的 init 方法中,实例化子类的 IPYWidgets 版本。

© www.soinside.com 2019 - 2024. All rights reserved.