问题标签 [super]

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 投票
4 回答
191 浏览

cocoa - super 中的方法无论如何都会被子类化(Cocoa)

抱歉,如果这是转发,但我无法完全搜索它,因为我无法用几句话解释它。我有一个包含很多方法的超类,但它们总是(不是全部)被子类化。从超级我需要运行这些方法。我可以将超级中的方法留空,或者我不能在超级中输入它们但无论如何都可以这样调用它们,[self myMethod]即使它在超级中不存在,它也会调用我的子类方法。这可行,但 Xcode 给了我一个错误。'superclass' may not respond to '-subclassmethod'

我应该怎么做才能不会收到警告?

0 投票
3 回答
20764 浏览

java - Java如何调用祖父母的方法?

可能重复:
为什么是 super.super.method(); 在 Java 中不允许?

假设我有 3 个类AB并且C,每个类都扩展了前一个类。

我如何A.myMethod()C.myMethod()if Balso implements中调用代码myMethod

0 投票
1 回答
207 浏览

class - 课程问题(超级新)

我很难弄清楚以下练习中发生了什么,我正在学习 Smalltalk,所以我是新手。

A类>>new ^super new 初始化。

A>>初始化 a:=0。

B类>>新:a参数|实例| 实例:=超级新。实例 b:实例 a + aParameter。^实例

B>>初始化 b:=0。

问题说明了执行以下代码时会发生什么:

B新:10。

但是我想不通为什么实例变量不属于A类。

谢谢

0 投票
9 回答
1520 浏览

java - 您是否在构造函数的开头放置了 super() 调用?

这是一个关于编码风格和推荐实践的问题:

正如问题的答案中所解释的,不需要将 super() 放入构造函数中?,如果您为应该使用超类中的默认(无参数)构造函数的类编写构造函数,则可以super()在构造函数的开头调用:

但你也可以省略调用;在这两种情况下,编译器都会像 super() 调用一样。

那么,您是否将调用放入构造函数中?

一方面,有人可能会争辩说,包括在内super()会使事情更加明确。OTOH,我总是不喜欢编写冗余代码,所以我个人倾向于将其省略;但是,我确实经常在其他人的代码中看到它。

你有什么经验?您对一种或另一种方法有疑问吗?您是否有规定一种方法的编码指南?

顺便说一句:一个相关的问题(仅供参考):

当没有其他构造函数时,是否有理由显式编写默认构造函数?

0 投票
15 回答
136874 浏览

java - 什么是PECS(Producer Extends Consumer Super)?

我在阅读泛型时遇到了 PECS(生产者extends和消费者的缩写)。super

有人可以向我解释如何使用 PECS 来解决和之间的混淆extendssuper

0 投票
2 回答
9177 浏览

python - 在 Python 3 中调用 super() 的 4 种方法中的哪一种?

我不知道什么时候使用 Python 3 super () 的什么味道。

到目前为止,我super()只使用了不带参数的方法,并且它按预期工作(由 Java 开发人员提供)。

问题:

  • 在这种情况下,“绑定”是什么意思?
  • 绑定和未绑定的超级对象有什么区别?
  • 何时使用super(type, obj),何时使用super(type, type2)
  • 将超类命名为 in 会更好Mother.__init__(...)吗?
0 投票
5 回答
15093 浏览

java - 使用“super”关键字绑定泛型

为什么我super只能与通配符一起使用而不能与类型参数一起使用?

比如在Collection接口中,为什么toArray方法不是这样写的

0 投票
3 回答
142 浏览

java - 关于获取和设置以及何时使用超类的问题

我有以下获取方法:

您可以看到,如果我需要将实现更改ArrayList为其他内容,我可以轻松地做到这一点,我只需要更改初始化newList以及所有其他取决于getMessageList()返回内容的代码仍然可以工作。

然后我有这个设置方法:

我的问题是,我应该List在方法签名中使用而不是 `ArrayList 吗?

我决定使用ArrayList这种方式是因为我可以强制执行我想要的实现,否则这里和那里可能会出现不同类型的列表混乱。

但我不确定这是否是要走的路...

0 投票
13 回答
20221 浏览

java - 在Java中_not_调用超类构造函数的任何方法?

如果我有一堂课:

和另一个

有什么办法可以B.B() 打电话A.A()吗?

0 投票
4 回答
27857 浏览

objective-c - Objective-C 中的 super 到底是什么?

据我所知,它是一个指向超类的指针。它与超类硬连线,而不是在运行时动态计算出来。想详细了解一下...

任何人?