问题标签 [multiple-inheritance]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
4453 浏览

c++ - 关于 C++ 中的多重继承、虚拟基类和对象大小的问题

以下代码打印 20,即 sizeof(z) 为 20。

而如果我在这里不使用虚拟基类,即以下代码:sizeof(z) 为 16。

为什么在第一种情况下 sizeof(z) more(20) ?不应该是 12,因为 Base 在 Z 中只包含一次?

0 投票
15 回答
89295 浏览

c++ - 为什么我应该避免 C++ 中的多重继承?

使用多重继承是一个好概念还是我可以做其他事情?

0 投票
4 回答
2845 浏览

python - 为什么在使用 super() 时必须指定自己的类,有没有办法绕过它?

当使用 Pythonsuper()做方法链时,你必须明确指定你自己的类,例如:

我必须将我的班级名称指定MyDecoratorsuper(). 这不是 DRY。当我现在重命名我的班级时,我将不得不重命名它两次。为什么以这种方式实施?有没有办法摆脱不得不写两次(或更多)类名的麻烦?

0 投票
5 回答
10007 浏览

c++ - Visual Studio 编译器警告 C4250('class1':通过支配继承 'class2::member')

以下代码生成警告 C4250。我的问题是,最好的解决方案是什么?

根据我所阅读的内容,应该可以这样做:

但是,这实际上并没有做任何事情。我目前解决的方法是:

大家对此有何看法?

0 投票
6 回答
1306 浏览

oop - 多重继承批评

我正在研究多重继承的概念(自从我愤怒地编写 C++ 代码以来已经快 10 年了,并且只是在学术上对这个概念感兴趣)。我在维基百科上找到了这个参考

他们列出的对 MI 的一个批评是“不能从一个类中显式地多次继承”。我对这个声明感到困惑,并且不能 100% 确定这是指什么。

当然,类继承描述了一个类的结构,并且从同一个类多次继承只会重复同一个类契约,所以我看不出它会给批评带来什么好处。显式继承会假设类函数和属性的多个实例吗?

我想了解这种批评指的是什么,以及为什么它隐含地不适用于启用多重继承的语言。

0 投票
8 回答
9138 浏览

c# - 实现 2 个具有“同名”属性的接口

这似乎是一个合理的(也许很简单?)场景,但您将如何执行以下操作:

假设我有 2 个接口:

我想要一个类来实现这两个接口:

鉴于每个接口都有不同的访问级别,如何在类中定义 ErrorMsg 属性?

如果您想知道,这是我的场景:我正在使用伪 MVC 架构编写 UserControl,其中 UserControl 将扩展接口暴露给它的 Controller,并将 Simple 接口暴露给控件的使用者。

顺便说一句,在 VB.NET 中实现这一点(任何建议的在 vb 中的 synatx 将不胜感激)。

0 投票
16 回答
409088 浏览

python - 什么是 mixin,它们为什么有用?

在“ Programming Python ”中,Mark Lutz 提到了“mixins”。我来自 C/C++/C# 背景,以前没有听说过这个词。什么是混音?

在这个例子的两行之间阅读(我已经链接到它,因为它很长),我假设这是使用多重继承来扩展一个类而不是“适当的”子类化的情况。这是正确的吗?

为什么我要这样做而不是将新功能放入子类中?就此而言,为什么混合/多重继承方法比使用组合更好?

混合继承与多重继承有什么区别?这只是语义问题吗?

0 投票
2 回答
1308 浏览

data-binding - 绑定 IList不显示 IMyInterface 继承的接口的成员

我将 IList 绑定到 GridView。IMyInterface 看起来像

我将一个实例绑定到这样的网格:

当将此绑定到网格时,网格中显示的唯一成员是 IMyInterface 的直接成员:GoalStartDate 和 GoalEndDate。

这是为什么?如何让网格显示它继承的其他接口的成员?

更新 继承的接口定义简单的数据属性,如

有一个实现IMyInterface的类:

这些被转换为 IMyInterface,并在我绑定到 GridView 的列表中返回。

0 投票
12 回答
17147 浏览

oop - 多重继承的用途?

谁能想到使用多重继承的任何情况?我能想到的每一个案例都可以通过方法操作符来解决

0 投票
4 回答
107 浏览

architecture - 使用无法修改的完全独立的继承树子类化类

考虑到任何一个类的继承树都不能修改为从另一个继承的限制,有人如何将两个具有独立继承树的类连接起来以桥接上下文边界?

即,如果作为实体的项目保存到数据库中,假设:

需要使用绘图组件显示,比方说:

简单地有一个子类会很好,stockitemgraphicnode因为有很多常见的成员。

设计解决方案的最佳方法是什么?