问题标签 [subclass]

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 投票
1 回答
1973 浏览

hibernate - Hibernate 子类一对一映射

我有一个复杂的映射,我认为它应该可以工作。但是为什么编译后,类 Ad 列似乎不存在?

0 投票
3 回答
401 浏览

.net - 在我的所有控件周围创建相同的边框类型

我尝试创建自己的 Border 类,然后将其插入到我的控件中,但似乎我无法为边界内的所有内容分配名称:

我怎样才能解决这个问题?我可以为此使用模板吗?

编辑:对不起,我不清楚。是的,我使用自己的 XAML 文件对 Border 进行了子类化,并使用上面的代码得到了这个编译器错误:

错误 2 无法在元素“StackPanel”上设置名称属性值“ifBlock”。“StackPanel”在元素“ElementBorder”的范围内,当它在另一个范围中定义时,它已经注册了一个名称。

我的 ElementBorder 类的内容不是很有趣,但我还是会发布它:

0 投票
1 回答
2975 浏览

nhibernate - 连接子类问题的 NHibernate 子类

我有一个应用程序,它有一个核心程序集,其中包含我需要继承的基类。我需要将它们保存到数据库中,并且在阅读了 NHibernate 之后决定使用它。

但是,我的一个新继承类有问题。我已经设置了子类映射,但是当我保存时,它既不会尝试保存它的任何基类属性,也不会尝试保存我在映射中分配的任何新属性!

我的课程布局如下:(来自一个小型演示应用程序)

核心组件 DataItem -> 用户

任何会触及数据库的东西都会继承 DataItem 类,因为它会处理 id、修改日期等。

在我的测试中,我将用户设置为只有一个名字..

如果我保存一个新用户,它会很好用..但是当我从用户继承然后添加另一个名为 LastName 的属性并尝试保存这个新对象时..它只会将 INSERT INTO t_User (id) VALUES(? ).. 它不会尝试保存名字或姓氏.. 尽管两者都已设置并已映射。

我的 nhibernate.config:

如您所见,我有 2 个程序集。我的 DAL 是我的核心,而 NHibernateDemo 是一个使用核心进行继承的 Web 应用程序。

我的核心 DataItem 映射:

我继承的 NewUser 映射不起作用!:

为什么当我尝试保存我的类 NewUser 时它没有尝试保存任何其他属性集,无论是从它的基础属性还是新声明的属性?

我真的很感谢对此的任何帮助或洞察力。我一定错过了一些非常简单的东西,我只是看不到它。

谢谢,

麦克风

0 投票
2 回答
756 浏览

java - 如何将子类方法放入超类 JLabel 中?

所以这是类和超类,要遵循的问题:

测试图:

我的形状:

在 TestDraw 类中,我试图将 MyShape 中的 toString 放入窗口上的文本框中,但是当我执行“JLabel southLabel = new JLabel(toString());”时 它告诉我的 toString() 需要是静态的。这一切都很好而且很花哨,除了当你让 toString 静态时,它想让那个字符串中的 get 成为静态的,这很糟糕......有什么想法吗?

我试过把 toString() 放在超类中,但它给出了同样的问题,试着问老师,但他说“看书”嗯……读了两个小时,我还没有找到我第三次通读后的一个例子。

先感谢您!

PS:答案很好,但最好解释一下!

0 投票
2 回答
144 浏览

django - 将代码添加到 contrib.auth 的最简洁方法是什么

我已将旧的 joomla 安装迁移到 django。密码哈希是一个问题。我不得不修改 contrib.auth.models 中的 get_hexdigest 以获得额外的 if 语句来反转生成哈希的方式。

我还在 User 模型中添加了以下内容,以便在登录后更新密码(如果它们具有旧的 joomla 样式):

一切正常,但我不想直接在 django 树中编辑此代码。在我自己的项目中是否有更清洁的方法来做到这一点?

谢谢

0 投票
1 回答
480 浏览

delphi - Delphi:对控件进行子类化和恢复的适当时机?

开始子类化控件的正确地点/时间是什么?

恢复原始窗口 proc 的适当时间是什么时候?

现在我在表单创建期间子类化:

我在表单销毁期间恢复子类化:

这很好用,只要我不使用ThemeManager,它的子类控制自己。一旦尝试对 ThemeManager 子类的控件进行子类化,我就会遇到非常讨厌的错误。

我认为这是因为我不应该在Create期间启动子类并在Destroy期间恢复它。那么在 Delphi 中对控件进行子类化和取消子类化的正确记录时间是多少?

0 投票
5 回答
18273 浏览

python - 子类中 __slots__ 的继承实际上是如何工作的?

关于插槽的 Python 数据模型参考部分中,有一个关于使用__slots__. 我对第 1 项和第 6 项感到非常困惑,因为它们似乎相互矛盾。

第一项:

  • 从没有 的类继承时,该类 __slots____dict__属性将始终可访问,因此__slots__ 子类中的定义是没有意义的。

第六项:

  • 声明的作用__slots__ 仅限于定义它的类。因此,子类将有一个__dict__ 除非它们也定义__slots__ (它必须只包含任何附加插槽的名称)。

在我看来,这些项目可以更好地措辞或通过代码显示,但我一直在努力解决这个问题,但仍然感到困惑。我确实了解应该如何使用__slots__,并且我正在尝试更好地了解它们的工作原理。

问题:

有人可以用简单的语言向我解释子类化时插槽继承的条件是什么?

(简单的代码示例会有所帮助,但不是必需的。)

0 投票
2 回答
179 浏览

c++ - 我们应该在对话框销毁期间添加取消子类的代码吗?

当我们子类化一个窗口对话框并且对话框关闭时会发生什么?

场景是我正在对一个对话框进行子类化,并且应用程序可以启动该对话框的许多实例。

是否有必要在其销毁逻辑中的所有对话框中添加取消子类化代码。

我认为当对话框关闭时,不需要取消子类,因为对话框已经被破坏。

0 投票
5 回答
8421 浏览

java - 子类化最终类;或者,退化的装饰器

我对同一种对象有许多不同的表示;让我们称之为事物。“事物”是一个标记界面。ThingFormat0、ThingFormat1、ThingFormat2等都是实现Thing的JavaBean。(因为它们是 JavaBean,所以 JSON 编组器会自动将它们与 JSON 进行自动转换。) ThingFormat1 只有几个成员,例如 name 和 id。ThingFormat2 具有指向其他事物的 URI 链接。在 ThingFormat3 中有 ThingFormat1 表示其他事物等。

JSON 序列化程序知道如何自动转换 URI。(它适用于任何可以使用 toString() 和构造函数 ClassName(String string) 进行转换的类。)

我想要一个行为类似于 URI 但实现标记接口 Thing 的 ThingFormat0。

这不起作用,因为 URI 是最终类并且不能被子类化。

我能想到的唯一方法是制作一个装饰器(一种非常退化的装饰器,因为它不会向 URI 添加任何功能)。这在一些“鸭子类型”语言中很容易,但在 Java 中更痛苦,因为我必须包装一个 URI 并实现我需要的所有 URI 方法。有没有更简单的方法?

0 投票
4 回答
926 浏览

asp.net - 总是使用 ASP.NET 服务器控件的子类?如果不是,为什么不呢?

在我之前的 ASP.NET 开发环境中,有一个近乎普遍的最佳实践:

为什么?因为这给了你一个钩子......一个编写代码并将其应用于整个应用程序的地方。

例如:假设您决定要在 webforms 应用程序中每个 TextBox 的右侧显示一个问号图标。图标被渲染,悬停在它上面会弹出气泡帮助——如果 TextBox.ToolTip 属性中有文本。

如果您使用的是 MS 提供的 TextBox 控件,您将如何做到这一点?

如果您一直在应用程序中使用 TextBox 的子类版本,那么您可以转到该对象,并添加呈现图标的方法,其中包含您最喜欢的 bubblehelp javascript。

快!您应用程序的所有文本框都会出现小问号图标——或者当您设置它们的工具提示文本时它们会出现。

随着时间的推移,您可以轻松地调整和增强所有文本框,因为它们都有一个可以修改的基类。您添加一个功能,其中工具提示是从资源文件中设置的。接下来,添加一个 ShowOnLeft 属性,该属性在 TextBox 的左侧显示图标。您喜欢 iPhone 密码控件如何显示您键入的最后一个字符,而不是前面的字符吗?使用实现该行为的方法覆盖子类 TextBox 的默认密码行为。

在 ASP.NET 中,我从未遇到过这种做法的倡导者。我刚刚错过了吗?一篇描述两打 ASP.NET 设计模式的文章没有任何相关内容。关于如何对服务器控件进行子类化的帖子描述了特殊用途的一次性操作,例如只接受数字的文本框——但没有一个推荐普遍的“总是使用子类化控件!” 我过去订阅的政策。

在 ASP.NET 中工作时应用这种古老的智慧是否有意义?要始终使用本机服务器控件的子类等效项?

如果不是——为什么不呢?还有其他方法可以剥这只猫的皮吗?一种技术只为您提供一个可以增加给定控件的所有应用程序实例的地方?

我很想听听。我想要我的 TextBoxQMark 控件。:-)

TIA - 霍伊斯特