问题标签 [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.
java - 可克隆行为
Java 文档说 -
Object 类本身并没有实现接口 Cloneable,因此在类为 Object 的对象上调用 clone 方法将导致在运行时抛出异常。
这就是为什么 Object 类中的 clone 方法受到保护的原因?是这样吗 ?
这意味着任何不实现可克隆的类在调用其克隆方法时都会抛出 CloneNotSupported 异常。
我运行了一个测试程序
从 Class Test 的克隆方法 super.clone 被调用?
为什么它不抛出异常?
java - 在调用超类的构造函数之前解析子类中的参数
我想在调用超级构造函数之前放置这两个 if 语句。我知道我不能那样做,那么Exception
在调用之前进行这种参数解析(抛出)的无痛方法是什么super()
?
objective-c - 类 超类 子类
我正在尝试使两个子类成为一个类:
变成:
我这样做不对,是吗?见上面我有4个错误……这是我第一次上课……帮助我理解,我想我几乎做对了。
c++ - C++ 超类数组还访问子类方法?
我有一个账户类,我有 3 种类型的账户储蓄、信贷和住房贷款。
我创建了一个二叉搜索树以将所有帐户保存为类型帐户
我现在如何根据对象的类型访问子类的方法?
已经解决了语法和编码的所有错误,但这个。
已经绞尽脑汁2天了。有谁知道这是怎么做到的?
python - 为什么不自动调用超类 __init__ 方法?
为什么 Python 设计者决定子类的__init__()
方法不会__init__()
像在其他一些语言中那样自动调用其超类的方法?Pythonic和推荐的成语真的像下面这样吗?
java - 向超类添加新方法并产生问题 - 可能性?
Effective Java 2nd edition 的第 16 条,赞成组合胜过继承说以下
“如果超类在后续版本中获得了一个新方法,而你不幸给子类一个具有相同签名和不同返回类型的方法,那么你的子类将不再编译。
如果您为子类提供了与新超类方法具有相同签名和返回类型的方法,那么您现在正在覆盖它”
这些案例在现实世界中出现的可能性有多大?这里的任何人都可以给我一个真实商业应用程序的例子(如果需要,删除专有信息)?
python - 调用变量超类方法
我试图通过使用变量方法名称来调用超类的方法。通常,我会看到以下两行代码是等效的:
事实上,我相信,这也是我使用第一行时实际发生的情况。然而,在下面的例子中,第二行产生了一个奇怪的问题。
我super
用来构造一个超对象并调用超类的方法。直接执行它按预期工作,但是使用__getattribute__
首先获取方法会导致无限循环,它会一次又一次地调用子类的方法。
请参阅以下代码:
如果您运行该代码,一切都会按预期进行,并且您应该得到类似于以下内容的输出:
所以这两种方法,一种是直接访问,另一种是 via __getattribute__
,看起来是一样的。但是,如果您用注释掉的行替换方法调用,您最终会遇到递归运行时错误。
为什么会发生这种情况,更重要的是,当我使用工作行时,如何以与 python 内部相同的方式实际访问该方法?
编辑
当我以为我已经尝试了所有方法时,我发现这是可行的:
它实际上等于super( B, self ).example
。
objective-c - 警告:不兼容的 Objective-C 类型将超类分配给子类
假设一个有效的超类和一个有效的子类,即类工作。
子类 self = [super init] 的构造函数中的以下行;
抛出以下警告 // 警告:不兼容的 Objective-C 类型分配 'struct Animal *',预期 'struct Cat *'
有关如何解决此问题并删除警告的任何想法?
干杯
objective-c - 为什么初始化子类需要调用超类的相同init函数?
我听说当你有一个子类时,你应该在子类的 init 中使用相同的 init 函数来初始化超类。我的意思是子类的init应该调用[super init],而子类的initWithFrame应该调用[super initWithFrame]。为什么是这样?为什么从子类的 initWithFrame 调用 super 的 init 会导致无限循环?
如果这是必需的,那么这是否意味着我不能在诸如 initWithPoint 的子类中创建一个新的 init 函数,并且仅仅因为超类没有 initWithPoint 就可以调用 super 的 init 或 initWithFrame?我想这里问题的核心就是为什么调用不同的超类是不合适的,这可能让我感到困惑,可能是因为我的 c++ 背景?
scala - Scala 元组的通用“地图”功能?
我想使用返回类型 R 的单个函数映射 Scala 元组(或三元组,...)的元素。结果应该是一个具有 R 类型元素的元组(或三元组,...)。
OK,如果元组的元素来自相同的类型,映射不是问题:
但是是否也可以使这个解决方案通用,即以相同的方式映射包含不同类型元素的元组?
例子:
应该返回
但是我找不到解决方案,以便映射函数确定 Sub1 和 Sub2 的超类型。我尝试使用类型边界,但我的想法失败了:
这里X >: B
似乎覆盖了X >: A
. Scala 不支持关于多种类型的类型边界吗?如果是,为什么不呢?