Python继承/多态性

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

我正在用这个Python库鬼混:

Read The Docs

PopUpDialog

有一个名为PopUpDialog的对象,其基类为Frame类型。

Frame对象的fields中的一个是can_scroll = True

当我实例化 PopUpDialog时,我希望此fieldFalse,因此会有no scoll bar

我试图制作一个new class命名为

class PopUpDialogNoScroll(PopUpDialog):
    super(PopUpdDialogNoScroll, self).__init__(screen,...

class PopUpDialogNoScroll(Frame):
    super(PopUpdDialogNoScroll, self).__init__(screen,...

但是,我所有的尝试都导致了类似“期望给7个参数提供2个错误”]]

有人可以指出我如何派生一个类

并设置父母和/或祖父母类的字段吗?

感谢并安康

我正在这个Python库中鬼混:阅读文档PopUpDialog有一个名为PopUpDialog的对象,该对象的基类为Frame类型。框架对象的字段之一是can_scroll = ...

python oop inheritance polymorphism base-class
1个回答
0
投票

首先,任何对super的调用都应在类自己的__init__函数的第一行中进行。因此,您的类应具有自己的__init__函数。然后,要将所需的所有参数传递给原始类,可以提供两个参数来合并继承的类将具有的所有参数:*args**kwargs。然后,您可以在__init__函数中将can_scroll字段显式设置为False,如下所示:

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