问题标签 [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 投票
3 回答
9432 浏览

java - 如何强制 Java 子类定义注解?

如果一个类定义了一个注解,是否可以强制其子类定义相同的注解?

例如,我们有一个简单的类/子类对,它们共享@Author @interface. 我想要做的是强制每个进一步的子类定义相同的@Author注释,防止在RuntimeException某个地方出现。

测试类.java:

测试子类.java:

我知道我可以在运行时枚举所有注释并检查缺失的@Author,但如果可能的话,我真的很想在编译时这样做。

0 投票
4 回答
56418 浏览

python - 如何在 Python 中使用省略号切片语法?

这出现在 Hidden features of Python中,但我看不到很好的文档或示例来解释该功能的工作原理。

0 投票
2 回答
5370 浏览

c# - 在 ASP.NET 中子类化 DropDownList

我想子类化 ASP.NET 中的内置 DropDownList,以便我可以向它添加功能并在我的页面中使用它。我尝试使用 UserControl 执行此操作,但发现它没有公开内部 DropDownList(我猜从逻辑上讲)。我已经用谷歌搜索了答案,但找不到任何东西。

我已经编写了实际的类,并且可以从 DropDownList 子类化,但我无法在我的 ASP.NET 页面中注册该文件并在源视图中使用它。也许我在课堂上缺少一些属性?

有任何想法吗?

0 投票
3 回答
1468 浏览

python - 您区分要由外部调用的对象方法和要由子类调用的对象方法的约定是什么?

我知道 Python 处理私有变量/成员/函数/...的方法的大部分来龙去脉。

但是,我无法决定如何区分外部使用的方法或子类使用的方法。

考虑以下示例:

在这个例子中,我想明确指出 subscribe 是一个由类/对象的外部用户使用的方法,而 event 是一个不应该从外部调用的方法,而应该由子类实现调用。

现在,我认为这两个部分都是公共 API,因此不要使用任何下划线。但是,对于这种特殊情况,例如,外部 API 不使用下划线,可子类化 API 使用一个下划线,私有/内部 API 使用两个下划线会感觉更简洁。但是,这将变得笨拙,因为需要调用内部 API

那么,您的约定是什么,编码方面、文档方面或其他方面?

0 投票
14 回答
154688 浏览

c++ - 如何检查对象的类型是否是 C++ 中的特定子类?

我正在考虑使用的思路,typeid()但我不知道如何询问该类型是否是另一个类的子类(顺便说一下,它是抽象的)

0 投票
1 回答
2015 浏览

.net - 单独程序集中子类时的NHibernate继承映射

假设核心项目有一个基础实体,每个插件都可能扩展基础实体。

解决方案结构:

有什么方法可以使用 NHibernate 子类来实现这个映射?

0 投票
4 回答
2309 浏览

java - 使用子类化替换没有实现接口的 Java 类

例如,java.io.File 只是一个具体的类。我的替代品支持解析 Windows 快捷方式。我需要预处理构造函数参数以解析可能的 .lnk 文件,因为无法访问在抽象路径上执行规范化/规范化/解析的 FileSystem 对象。预处理的需要排除了纯子类化 - 在调用 super(...) 之前不能进行预处理,并且 File 是不可变的。所以我扩展了 File 并使用了一个委托,覆盖了 File 的所有构造函数和方法(在所有构造函数中调用 super(""))。

这很好用,但显然并不理想——如果 File 发生变化,我将不会覆盖任何新方法或构造函数,这将暴露底层的空抽象路径名。我错过了一些明显的东西吗?似乎应该有一个更简单/更好的方法。

0 投票
5 回答
17384 浏览

c# - C# 在不知道它是子类实例的情况下调用重写的子类方法

我有一个带有虚拟方法的基类,以及覆盖该方法的多个子类。

当我遇到其中一个子类时,我想调用被覆盖的方法,但不知道子类。我可以想出丑陋的方法来做到这一点(检查一个值并强制转换它),但似乎应该有一种语言内的方法来做到这一点。我希望列表在同一个列表中包含多个子类,否则显然我可以创建一个列表。

编辑:修复了代码中错误的注释,这导致我得到了非常合适的第一个答案:)

例如:

0 投票
6 回答
7277 浏览

python - 为什么我不能继承 datetime.date?

为什么以下不起作用(Python 2.5.2)?

我想创建一个类似的类datetime.date,但具有不同的__init__功能。显然我的函数永远不会被调用。相反,原件datetime.date.__init__被调用并失败,因为它需要 3 个参数,而我传入一个。

这里发生了什么?这是一个线索吗?

谢谢!

0 投票
1 回答
1848 浏览

python - gtk.Builder,容器子类和绑定子小部件

我正在尝试在 gtk.Builder 定义文件中使用自定义容器小部件。至于实例化这些小部件,它工作得很好:

现在的问题是说我在那个对话框中有一个 gtk.TreeView 小部件。我试图弄清楚如何将该小部件绑定到 MyDialog 实例变量。

我能想到的一种便宜的替代方法是在获取对话框小部件后调用其他方法,如下所示:

但这似乎相当尴尬。有没有人已经解决了这个问题,或者对如何去做有更好的想法?

谢谢,