问题标签 [derived]

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 投票
5 回答
4956 浏览

c# - 从基类对象列表中识别派生类型

这可能看起来有点“家庭作业”和/或微不足道,但它是出于真正的商业目的;这只是我能想到的最简单的方法来解释我在概念上试图做什么。

假设我有一个 Animal 类和一些其他类(Bird、Cat、Kangaroo)。这些中的每一个都继承自 Animal。

动物可能看起来像这样:

袋鼠可能看起来像这样:

假设袋鼠有两个朋友,一只鸟和一只猫。我怎样才能将这些添加到“动物”朋友列表中(作为动物类型),但保留访问派生类属性的能力?(例如,我仍然需要能够使用特定于动物类型的属性,例如鸟类的 FeatherColor,即使它们将被视为只是“动物”。

我尝试这样做的原因是,当我后来得到动物的“朋友”列表时,我知道朋友是什么类型的动物是至关重要的。根据动物类型(无论是鸟、猫等),我想做一些不同的事情(实际上,在 ASP.NET 页面上显示不同的模板,但我不需要专门的帮助)。

我想这可以归结为...如果我有一个 Animal 列表,我怎么知道列表中每个对象的派生类型是什么,所以我可以将它们转换回它们的派生类型或做其他事情这使我能够获得每个派生类型上特定的不同属性?

谢谢!

0 投票
3 回答
4402 浏览

c++ - c++:动态选择要创建的子类

我是 C++ 新手,我有一个问题。

假设我们有一个基类 Base 和两个派生类,Derived1 和 Derived2。fe Derived1 有一个采用整数的构造函数,而 Derived2 有一个采用布尔值的构造函数。

是否可以在运行时(或编译时)确定创建这两个子类中的哪一个并将其分配给基类。

像这样:Base b = ???(value),其中 value 的类型是整数或布尔值。

提前致谢!

0 投票
1 回答
107 浏览

iphone - UIscrollview 派生类

哪些是从 UIScrollView 派生的控件(或类)?

0 投票
4 回答
232 浏览

c# - 不同类型的列表

我是 C# 方面的新手.... (.net 3.5)

我想要一个字典来保存两种不同类型的对象,其中一种是通用的。在遍历列表时,我将调用 add 和 clone 等方法。我已经尝试过使用基类和子类......

有什么方法或解决方案可以满足我的需求吗?

谢谢!安娜

0 投票
2 回答
6638 浏览

hql - 在 Hibernate HQL 中使用派生表的子查询

我有一个休眠 HQL 问题。我想写一个子查询作为派生表(出于性能原因)。是否可以在 HQL 中做到这一点?例子:

(顺便说一句,这只是一个示例查询,所以不要就重写它提供建议,这只是我感兴趣的派生表概念)

0 投票
3 回答
285 浏览

c# - 引用继承类的是的,在派生类中

我不知道它是否可能,但这就是我需要的。我正在玩弄一些东西,想知道它是否可能,因为您无法基于密封类型(例如 int、Int32、Int64 等)创建自己的数据类型。

我想创建一个由给定类型定义的顶级类,其中包含一些常见的东西。然后,将其派生为两个子类,但在这种情况下,每个类都基于 int 或 Int64 类型。从那个实例中,创建一个实例,并了解其参数引用/返回设置的类型基础。

因此,当我需要创建“ThisClass”的实例时,我不必知道它的类型基础是 int 还是 Int64,但 IT 将知道类型并能够允许使用 typed 调用方法/函数...这样,如果我想将我的 ThisClass 定义从 SubLevel1 更改为 SubLevel2,我不必绕着所有不同的数据类型定义跳舞。

希望这是有道理的..

0 投票
2 回答
918 浏览

c++ - 派生类作为默认参数 g++

请看一下这段代码:

编译在 g++ 中生成以下错误消息:

基本思想(使用派生类作为基本引用类型参数的默认值)在 Visual Studio 中有效,但在 g++ 中无效。我必须将我的代码发布到他们用 gcc 编译的大学服务器。我能做些什么?有什么我想念的吗?

0 投票
6 回答
4966 浏览

c# - C# 如何在 web 服务中返回我的基类

我有一个类 Car 和一个派生的 SportsCar: Car
像这样的东西:

我有一个带有返回汽车的方法的网络服务,即:

它返回:

我有另一种方法也可以返回这样的汽车:

它编译得很好,一切正常,但是在调用它时我得到:
System.InvalidOperationException:生成 XML 文档时出错。---> System.InvalidOperationException:类型 wsBaseDerived.SportsCar 不是预期的。使用 XmlInclude 或 SoapInclude 属性指定静态未知的类型。

我觉得很奇怪它不能将它序列化为一辆直车,因为 mycar 是一辆汽车。

在我们的 WebMethod 上添加 XmlInclude 可以消除错误:

现在它返回:

但我真的希望返回基类,而不需要派生类的额外属性等。

如果不创建映射器等,这是否可能?

请说是的;)

0 投票
7 回答
266 浏览

c++ - C++ 中有什么方法可以让基类在所有派生类中调用虚拟方法吗?

我们系统的一部分使用在不共享共同祖先的进程之间共享的内存。我们将 C++ 对象放在这个共享内存中。这些对象上的方法要么在标题中内联,要么在链接到相应进程的对象库中外联。

系统新手经常犯的一个错误是在某处引入虚拟方法。这保证会导致系统崩溃,因为无法确保 VT(虚拟表)驻留在每个进程中的相同地址。

因此,我想知道如果有人试图引入虚拟方法,我是否有办法让编译器发出错误。类似于将复制和赋值构造函数设为私有以禁止复制语义。

0 投票
2 回答
657 浏览

mysql - HSQLDB 1.8 不能在派生表中进行排序?

我有一个查询,我在内部连接的派生表中执行 Order by。

前任:

这在 MySQL 中运行良好,但在 HSQLDB 中失败。我在这里下订单的原因是 mysql 比将 ORDER BY 放在外部查询中要快得多。这是纯粹的性能胜利。但是,HSQLDB 正在抱怨。

这是一个例外:

这是一个大问题,因为我的测试使用 HSQLDB,但生产系统是 MySQL。我可以将这些测试作为“异常”移动并针对 mysql 运行,但它要慢得多......并且为了让测试通过而使生产系统变慢会破坏测试点。

我可以重组我的测试以使用 mysql 进行一些测试,而不是一揽子使用 hsqldb 进行所有测试……这对我来说是一个很大的测试框架变化。那么有没有办法让 hsqldb 玩得很好,还是我必须改进我的测试框架?

谢谢!