问题标签 [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 - 为什么是 super.super.method(); 在 Java 中不允许?
我读了这个问题,并认为如果有人可以写,这很容易解决(并不是说没有它就无法解决):
我不确定它在很多情况下是否有用,但我想知道为什么它没有用,以及其他语言中是否存在类似的东西。
你们有什么感想?
编辑: 澄清一下:是的,我知道,这在 Java 中是不可能的,我并没有真正想念它。这不是我期望的工作,并且很惊讶得到编译器错误。我只是有这个想法,并喜欢讨论它。
python - python中的继承和覆盖__init__
我正在阅读“潜入 Python”,并在关于类的章节中给出了这个例子:
然后作者说,如果要覆盖该方法,则必须使用正确的参数 __init__
显式调用父级。__init__
- 如果
FileInfo
该类有多个祖先类怎么办?- 我必须显式调用所有祖先类的
__init__
方法吗?
- 我必须显式调用所有祖先类的
- 另外,我是否必须对要覆盖的任何其他方法执行此操作?
java - 是否可以在超类对象上调用子类的方法?
Animal 是 Dog 的超类,Dog 有一个叫做 bark 的方法
考虑以下:
会发生什么?
- 不允许分配
- 允许调用 bark 并在运行时打印“woof”
- 允许调用 bark,但没有打印任何内容
- 对 bark 的调用导致编译时错误
- 对 bark 的调用导致运行时错误
我说 2 因为我们正在检查对象是否是狗;因为 dog 是其中包含 bark 方法的类,如果是,则我们调用它,它将打印出:s
我的理解在这里正确吗?
c# - .NET / C# - 反射帮助 - 程序集中的类
循环通过程序集的最佳方法是什么,并且对于程序集中的每个类都列出它的“超类”?
c# - C#:你如何获得一个类的基类?
在 C# 中,如何获得对给定类的基类的引用?
例如,假设您有某个类 ,MyClass
并且您想获得对MyClass
' 超类的引用。
我想到了这样的事情:
但是,似乎没有合适的GetBase
方法。
python - __init__() 应该调用父类的 __init__() 吗?
我在Objective-C中使用过这个结构:
Python 是否也应该调用父类的实现__init__
?
__new__()
对于and ,这也是真/假__del__()
吗?
编辑:有一个非常相似的问题:Inheritance and Overriding __init__
in Python
c# - 我可以使用反射更改 C# 中的私有只读继承字段吗?
就像在java中我有:
我如何知道和设置超类的私有字段?
我知道强烈不推荐这样做,但我正在测试我的应用程序,我需要模拟一个错误的情况,其中 id 正确而名称不正确。但是这个 ID 是私有的。
php - 使超类对象成为 PHP5 中的子类对象
我想通过将 A 的对象传递给 B 的构造函数来创建 B 的对象,如您所见,我无法重新分配 $this 变量。我不允许修改A类,当A中有很多属性时,我在B的构造函数中做这样的事情会很乏味:
我的问题是,如何使用 A 的对象以最少的编码安全地创建 B 类的对象?
java - 如何使用超类调用方法
我正在尝试调用一个方法,该方法将超类作为参数,实例中有子类。
现在如果通过调用
如果没有这样的方法,它将失败 异常
即使存在可以接受参数的方法。
关于解决此问题的最佳方法的任何想法?
java - 将项目导入 Eclipse 后出现“必须覆盖超类方法”错误
每当我必须将我的项目重新导入 Eclipse 时(如果我重新安装了 Eclipse,或者更改了项目的位置),几乎所有我覆盖的方法都没有正确格式化,从而导致错误:
该方法必须覆盖超类方法
值得一提的是,无论出于何种原因,对于 Android 项目,方法参数值并不总是填充,因此我必须自己手动填充它们。例如:
最初将像这样填充:
奇怪的是,如果我删除我的代码,并让 Eclipse 自动重新创建该方法,它使用我已经拥有的相同参数名称,所以我真的不知道问题出在哪里,除此之外它会自动格式化方法我。
不得不手动重新创建所有我重写的方法,这变得相当痛苦。如果有人能解释为什么会发生这种情况或如何解决它。我会很高兴的。
也许是由于我格式化方法的方式,这些方法在另一个方法的参数中?