-
2 votesanswersviews
多重继承并调用super()
我收到错误:TypeError:__ init __()需要2个参数(给定3个) 尝试从类顶部实例化对象时: super(Middle1,self).__ init __(name,“middle”) class Base(object): def __init__(self, name, type): pass class Middle1(Base): def ... -
8 votesanswersviews
__bases__下次没有't work! What'?
以下代码在Python 3.x中不起作用,但它曾用于旧式类: class Extender: def extension(self): print("Some work...") class Base: pass Base.__bases__ += (Extender,) Base().extension() Question is si... -
4 votesanswersviews
python:super() - 类似于在指定类中启动MRO搜索的代理对象
根据文档, super(cls, obj) 返回 一个代理对象,它将方法调用委托给类型为cls的父类或兄弟类 我理解为什么 super() 提供了这个功能,但我需要稍微不同的东西:我需要创建一个代理对象,将方法调用(和属性查找)委托给类 cls 本身;和 super 一样,如果 cls 没有实现方法/属性,我的代理应该继续查看MRO顺序(新的而不是原始类) . 有没有我能写的功能可以达到这个目... -
106 votesanswersviews
使用多重继承调用父类__init__,这是正确的方法吗?
假设我有一个多继承场景: class A(object): # code for A here class B(object): # code for B here class C(A, B): def __init__(self): # What's the right code to write here to ensure # A... -
1 votesanswersviews
是否可以使用C来编排基类相对于其派生类的偏移量?
考虑以下“黑匣子”, template<std::size_t offset, typename T> class BlackBox; 必须具备以下功能: class SomeClass; // This class has a virtual destructor // and a default constructor. constexpr s... -
194 votesanswersviews
C#中的多重继承
由于多重继承是不好的(它使源更复杂),C#不直接提供这样的模式 . 但有时候拥有这种能力会有所帮助 . 例如,我能够使用接口和三个类来实现缺少的多继承模式: public interface IFirst { void FirstMethod(); } public interface ISecond { void SecondMethod(); } public class First:IFi... -
672 votesanswersviews
Python的super()如何与多重继承一起工作?
我是Python面向对象编程的新手,我很难理解 super() 函数(新样式类),尤其是涉及多重继承时 . 例如,如果你有类似的东西: class First(object): def __init__(self): print "first" class Second(object): def __init__(self): ... -
16 votesanswersviews
在scala多重继承中,如何解决具有相同签名但返回类型不同的冲突方法?
请考虑以下代码: trait A { def work = { "x" } } trait B { def work = { 1 } } class C extends A with B { override def work = super[A].work } 由于"overriding method work in trait A of type... -
161 votesanswersviews
Java多重继承
为了完全理解如何解决Java的多重继承问题,我有一个经典的问题需要澄清 . 让我说我有类 Animal 这有子类 Bird 和 Horse 我需要创建一个从 Bird 和 Horse 延伸的类 Pegasus ,因为 Pegasus 既是鸟又是马 . 我认为这是经典的钻石问题 . 根据我的理解,解决这个问题的经典方法是制作 Animal , Bird 和 Horse 类接口并从中实现 Pegasu... -
49 votesanswersviews
Python的“超级”如何做正确的事情?
我熟悉Python的MRO; 's not my question. I'好奇如何从super返回的对象实际上设法与父类中的super调用正确的顺序进行通信 . 考虑这个示例代码: #!/usr/bin/python class A(object): def __init__(self): print "A init" class B(A): def __i... -
24 votesanswersviews
多继承如何与super()和不同的__init __()参数一起使用?
我只是潜入一些更高级的python主题(好吧,至少先进了我) . 我现在正在阅读有关多继承以及如何使用super()的内容 . 我或多或少了解超级函数的使用方式,但 (1) What's wrong with just doing it like this ?: class First(object): def __init__(self): print "fir... -
1 votesanswersviews
多个mixins和__init__方法
假设我有一个基类(MyBase),它有一个 __init__ 方法 我也有2个mixins . 这些mixin中的每一个都有一个属性和几种方法,但这两种方法或属性在两个mixin中都不常见 . MyBaseClass,mixin1和mixin2都继承自object 我想从mixins(mixin1和mixin2)和MyBase派生一个类(MyRealClass) . 从我在MRO上看到的,MyRe... -
23 votesanswersviews
多重继承运算符的重载分辨率()
首先,考虑这个C代码: #include <stdio.h> struct foo_int { void print(int x) { printf("int %d\n", x); } }; struct foo_str { void print(const char* x) { printf(&q... -
2 votesanswersviews
OpenAPI / JSON模式中的多重继承/组合
在OpenAPI中,使用 allof 实现继承 . 例如,在_2534107中: "definitions": { "Pet": { "type": "object", "allOf": [ { "$ref": ... -
0 votesanswersviews
C在mult中调用正确的虚方法
我正在编写一些模块化应用程序,我正在尝试使用抽象classess和(纯)虚拟函数/方法,如接口 . 所以我定义了一些“接口”: class first { public: virtual ~first() {}; virtual void first_method() = 0; }; class second { ... second_method() ... }; 实现这些的类... -
768 votesanswersviews
什么是mixin,为什么它们有用?
在“Programming Python ", Mark Lutz mentions " mixins”中 . 我来自C / C / C#背景,我之前没有听过这个词 . 什么是mixin? 在this example(我很长)的行之间读取,我'm presuming it'是一个使用多重继承来扩展类而不是'proper'子类的情况 . 这是正确的吗? 为什么我要这样做而不是将新... -
43 votesanswersviews
Mixin类__init__函数是不是自动调用的?
我想使用Mixin总是为我的子类添加一些init功能,每个类继承自不同的API基类 . 具体来说,我想创建多个不同的子类,这些子类继承自这些不同的API提供的基类之一,以及一个Mixin,它将始终以相同的方式执行Mixin初始化代码,而无需代码复制 . 但是,看起来Mixin类的__init__函数永远不会被调用,除非我在Child类的__init__函数中明确地调用它,这不太理想 . 我 Bui... -
0 votesanswersviews
multiple Inheritance ..类需要扩展abstractHandler以及Applet
我正在尝试创建一个自动化向导,它将从系统中获取一些文件(通过命令处理程序)并生成相关的applet . 我将尝试解释我的事件 . 我为新命令"newModule"制作了一个插件,它通过"newModuleHandler.java"处理 . 所以 newModuleHandler extends AbstractHandler . 现在我想制作一个向导(小程... -
0 votesanswersviews
superclass.method(object,parms)有什么问题?
说我有这个示例代码,我正在为我正在举行的Python课程编写代码: class Enum(dict): def __init__(self, *values): values = {mnemo: num for num, mnemo in enumerate(values)} dict.__init__(self, values) # ← this def __... -
2 votesanswersviews
Java继承:需要多个扩展
我设计我的游戏应用程序并在OOP设计中遇到一些麻烦 . 我想知道一些可以帮助我的模式,因为java没有任何多重扩展选项 . 我将在下面描述我的问题,并解释为什么多个界面根本无法帮助我 . 我们走吧 . 我们想要的是“类是一组功能” . 我的意思是构造如下: field a; field b; field c; method m1(){ // use, and change fields a,b,... -
1 votesanswersviews
如何向包含继承的ArrayLists添加属性?
我正在做一个关于继承的任务,到目前为止我已经创建了一个超类的子类 . 在这些类中,已经添加了一些方法来定义信息,例如动物的名字或年龄 . 现在我被要求做以下事情: 使用main方法创建一个Demo类,该方法创建Animal对象的ArrayList . 在列表中填入不同的动物,也有不同的名字和年龄 . 我对这完全感到困惑 . 如果我尝试在我的新ArrayList中创建动物,它告诉我Animal类... -
0 votesanswersviews
Django表单继承
我试图子类化一个表单,我需要从主窗体中获取所有args / kwargs . 我知道pythonic方式,但是我需要特别为Django做些什么 . 主要表格: class BasketLineForm(forms.ModelForm): save_for_later = forms.BooleanField( initial=False, required=False, l...