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

java - 在Java中,要使用“super”关键字,我必须导入目标类吗?

当我们在构造函数中使用 super 关键字时,我们是否必须导入 super 引用的类(当 super 不引用 Object 时)?

0 投票
4 回答
25283 浏览

java - 如何在 Java 中访问超超类?[里面的小例子]

在下面的示例中,我如何访问类C的方法?method()A

我得到的错误是

在范围内无法访问类型 B 的封闭实例

答:不,这是不可能的。Java 不允许。类似的问题

0 投票
4 回答
275 浏览

iphone - Obj-C:调用超类

什么是正确的,将所有代码放在超级调用之前或之后?它的工作方式是双向的,但我不知道是等到电话结束还是在开始时提交更好?

干杯

0 投票
5 回答
1149 浏览

java - 在 Java 中,this/super 关键字可以代表类/枚举以外的任何内容吗?

我注意到:

每当我this在匿名类中使用关键字时,都this指的是封闭的外部类/枚举,而不是匿名类。

这是否意味着this永远不能代表匿名类?只是“正常”的类和枚举?

另外,可以thissuper代表一个接口吗?

0 投票
3 回答
16755 浏览

python - Python 的 super()、抽象基类和 NotImplementedError

抽象基类在 Python 中仍然很方便。在编写一个我希望每个子类都有一个spam()方法的抽象基类时,我想写这样的东西:

挑战来自还想要使用super(),并通过将其包含在整个子类链中来正确地做到这一点。在这种情况下,似乎我必须super像下面这样包装每个调用:

这对于一个简单的子类来说是可以的,但是当编写一个有很多方法的类时,try-except 会变得有点麻烦,而且有点难看。有没有更优雅的从抽象基类子类化的方式?我只是做错了吗?

0 投票
2 回答
1669 浏览

ruby-on-rails - heroku & 设计用户注册注册控制器错误

我刚刚切换到 Devise/Omniauth 组合,一切都在我的 localhost 服务器上正常工作。但是,当我上传到 heroku 时,当用户单击传统注册表单上的注册(不是omniauth 登录)时,应用程序崩溃。我正在使用 rails 3。我的日志说

LoadError(没有要加载的此类文件--bcrypt):app/controllers/registrations_controller.rb:11 in 'build_resource' app/controllers/registrations_controller.rb:4 in create'

引用的控制器:

第 4 行和第 11 行是超级代码,因为注册控制器覆盖了设计。怎么了?谢谢。

0 投票
2 回答
1841 浏览

objective-c - self.view / super.view

有什么区别

谢谢你!!

法兰胡

0 投票
3 回答
3181 浏览

python - 如何通过手动填充 __class__ 单元格使 super() 工作?

在 Python 3 中,可以使用super()代替super(MyClass, self),但这仅适用于在类中定义的方法。如Michele Simionato 的文章中所述,以下示例不起作用:

它失败是因为super()寻找一个在本例中未定义的__class__ 单元格。

是否可以在定义函数后手动设置此单元格,或者这是不可能的?

不幸的是,我不明白细胞在这种情况下是如何工作的(没有找到太多的文档)。我希望有类似的东西

当然,我只会在类分配明确/唯一的情况下使用它(在我的情况下,将方法添加到类的整个过程是自动化的,因此添加这样一行会很简单)。

0 投票
1 回答
2988 浏览

iphone - (iphone) [super touchesBegan/Moved/Ended] 有什么作用?

大多数重载方法都需要[super theMethod]调用。

(例如[super viewDidLoad];[super viewWillAppear];[super dealloc];

我没有考虑是否需要[super touchesBegan:withEvent:]打电话,但它似乎以某种方式发挥了作用。

我什么时候需要它,什么时候不需要它?

我正在尝试在需要时以编程方式取消触摸事件,这似乎与我提出的问题有关。

0 投票
3 回答
2740 浏览

android - Android Eclipse 插件生成的代码中 super() 调用的位置是否可靠?

在许多 Android 方法中,尤其是构造函数和重写方法中,您应该甚至必须使用super()调用父类方法。当您使用 Eclipse Source > Override/Implement Methods...时,您会从带有 TODO 标记的模板中获取代码,如下所示:

我不完全理解超类在每种情况下的作用,所以我总是将我的代码插入到//TODO标记的确切位置。在示例中,我将在构造函数中的代码之前和 onDraw() 中的代码之后调用 super()。

我可以始终依赖生成代码中的这些代码插入位置吗?何时调用 super() 是否有简单的规则/解释?