问题标签 [superclass]

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 回答
4773 浏览

c++ - 当作为参数传递时,为什么不能在子类函数中访问受保护的超类成员?

我收到一个编译错误,对此我有些困惑。这是在VS2003上。

错误 C2248:“A::y”:无法访问在“A”类中声明的受保护成员

问题在于 x = item.y;

访问被指定为受保护。为什么 B 类的构造函数不能访问 A::y?

0 投票
2 回答
12589 浏览

polymorphism - 是否可以在多态性中使用超类的对象访问子类的变量

如何使用类KeyBoardPlayer对象访问类的状态变量KalaPlayer

0 投票
2 回答
614 浏览

c++ - 在初始化列表中使用超类的地址/指针

上下文 1:D 类:公共 B1,公共 B2{};

上下文 2:B2 带 B1 初始化: B2( B1 * ) //B2 的构造函数

我的问题在 D 的初始化列表中:

D::D() : B1(), B2( ? )... 应该是什么?

我不想在 ? 地方,因为在初始化列表中使用“this”是不好的。并且由于 B1 部分已经初始化,使用它是有意义的。

我应该怎么办 ?

0 投票
3 回答
15640 浏览

java - Java Web 服务/JAXB - 抽象超类

我有一个带有抽象超类的 JAXB 注释类的包。我想在 Web 服务接口中使用这个超类,所以我可以将任何子类作为参数传递。当我这样做时,会引发异常:

可以手动编组/解组并将参数作为字符串传递,但我想避免它。任何想法如何做到这一点?

0 投票
1 回答
769 浏览

java - Hibernate:如何将子类链接到其超类?

我在设置我的网上商店项目时遇到了一点问题。问题是,我有一个 User() 超类和两个子类,PrivateUser 和 BusinessUser。

现在,我不太确定如何通过休眠来存储这种关系。

对于这个问题,User() 类只包含一个字段:
字符串地址;

PrivateUser 包含:
字符串 firstName;

并且 BusinessUser 包含:
String CompanyName;

每个字段都有自己的 getter 和 setter。就像现在一样,我只能存储并能够获取 firstName 和 companyName。当我使用 Hibernate 从我的数据库中获取用户时,我会得到一个带有空地址的 PrivateUser/BusinessUser。

底线是,有人可以向我指出一个有用的教程,或者更好地展示一个类似的示例代码吗?

谢谢!

0 投票
3 回答
870 浏览

java - 使用子类对象修改其超类对象中的受保护属性

对不起,我没有为我的 Java 问题想出一个更好的版本。我现在正在使用 Java 版本:1.6.0_18 和 Netbeans 版本:6.8

现在来回答这个问题。

我所做的是创建了一个只有一个受保护的 int 属性的类,然后我创建了一个公共方法来将 int 属性设置为给定值。然后我创建了该类的一个对象,并使用所述公共方法将 int 属性设置为 5。现在我需要您的帮助来创建另一个类,该类将采用所述对象并公开它的受保护 int 属性。

我能想到的方法是创建一个子类来继承该类,然后创建一个方法来获取超类的 int 属性。我有点成功地创建了获取 int 属性的代码,但现在我不知道如何使用这个新的子类来引用超类的对象。

到目前为止,这是我上过的两门课:

我创建了一个“A”对象并使用它的方法将其属性设置为 5,如下所示:

现在我想创建一个'B'的对象来输出存储在'objA'的属性中的int。我试图运行这段代码:

但我得到了错误:第一行的“java.lang.ClassCastException”

p>

请问有没有做我想做的事情?

PS我希望使这个想法可行,因为我不想通过给它一个getter方法来编辑A类(除非我别无选择)。

PPS 另外,我知道公开属性而不是将其设为私有并使用公共 setter / getter 方法是一个“坏”主意,但我喜欢这种方式:)。

编辑:添加代码标签

0 投票
5 回答
6854 浏览

java - Java:超类在某些条件下构造子类,可能吗?

我有这个条件

当我创建 B 的实例时,该操作将只执行 B 中的操作,因为它会覆盖超类的操作。

问题是在我的项目中,超类 A 已经被使用了太多次,我正在寻找一种方法,在某些条件下,当我创建 A 的实例时,它会进行检查,如果是真的,替换自己与 B。

这在某种程度上可能吗?

0 投票
2 回答
4157 浏览

java - 反射:将对象强制转换为子类而不使用 instanceof

我有这个简单的接口/类:

还有一个实用程序类:

现在,主要课程:

输出是

我会p.handler(m)调用该方法p.handler(m:Message1)

我不想使用“手动”命令instanceof,因为我有很多情况:


如果我打电话m.getClass(),我会获得“mypackage.Message1”,所以是子类而不是超类。

我尝试使用此代码(使用反射):

但输出是

所以,这是我的问题。我会在不使用“代码命令”istanceof 的情况下将超类对象运行时转换为子类对象。

我会这样的正确命令:

我怎样才能获得它?这是可能的?

0 投票
2 回答
141 浏览

java - 在这种情况下可以使用继承吗?(爪哇)

我有 ClassA 和 ClassB,其中 ClassA 是超类。

ClassA 使用 NodeA,ClassB 使用 NodeB。

第一个问题:方法参数。ClassB 需要 NodeB 类型,但我不能从子类转换为超类。这意味着我无法设置 NodeB 独有的属性。

第二个问题:当我需要向ClassB添加节点时,我必须实例化一个新的NodeB。但是,我不能在超类中这样做,所以我必须重写插入以使用 NodeB。

有没有办法解决它,还是我必须重写整个事情?

0 投票
1 回答
1138 浏览

subclass - 使用 Automapper 展平属性的子类

给定课程:

我想使用 Automapper 来映射 Source -> Dest。

这个测试显然失败了:

考虑到“Person”实际上是整个域模型中大量使用的数据类型,最好的映射方法是什么。

编辑:目的是保留“Dest”对象,这些对象将为“Person”子类型的所有属性定义字段。因此,我们可以有如下的源对象,并且不希望必须为“Person”子类的每个可能组合创建 Dest 对象: