问题标签 [abstract-methods]
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 - 理解抽象类和方法并正确覆盖它们
我有一个名为 Answer 的抽象类。它需要是抽象的,因为假设可以有许多不同类型的答案,例如字符串答案、视频答案、音频答案等。
现在在 StringAnswer 中,我想重写这些方法。
getAnswer 给我带来了问题,因为我试图返回一个字符串,但它期待一个答案。在抽象意义上,我想返回一个答案。但是,StringAnswer 的内容显然会是一个字符串。
那么,当它期待一个答案时,我如何将它作为字符串返回?
c# - 在继承的抽象类中重写抽象方法
好的,所以基本上我有以下问题:我试图让一个抽象类继承另一个具有抽象方法的抽象类,但我不想在它们中的任何一个中实现抽象方法,因为第三个类继承自两者其中:
我正在尝试将二进制命令与一元命令分开,但不想/不能在其中实现执行方法。我想过让 Binary 覆盖抽象方法(因为它必须),然后抛出一个未实现的异常。如果我让它覆盖,那么我必须声明一个主体,但如果我让它抽象,那么我“隐藏”了继承的方法。
有什么想法吗?
scala - 混入时,scala编译器可以强制实现抽象特征方法吗?
我有一个抽象方法和具体实现方法的特征,所以是这样的:
现在我混合特征:
BaseClass 不实现抽象方法。当我混合特征时,我希望 scala 编译器强制执行抽象方法(就像 Java 接口一样)。但是没有编译器错误。
我的特殊情况更复杂。我还无法测试运行时会发生什么。
- 为什么scala编译器不强制执行抽象方法?
- 我可以让 scala 编译器强制执行抽象方法吗?
- 我必须在某处添加抽象或覆盖吗?
- 当我尝试创建和使用 MyClass 的实例时,运行时会发生什么?
go - 没有身体的功能是什么意思?
我正在阅读 package 的代码,time
然后我想知道它是如何func After(d Duration) <-chan Time
工作的。
我发现代码如下:
所以我找到了startTimer
- 函数startTimer
没有函数体的定义。
我想知道:
- 真正的代码在哪里
startTimer
- 为什么这里可以存在“抽象方法”
- 为什么 Go 的作者会这样写
谢谢!
vb.net - MustOverride 原来是一个虚拟方法?
在研究Assembly.GetInterfaces()时,我发现该方法是MustOverride 方法。在我看来,这意味着它对派生类没有默认操作。它基本上只是一个签名,一个抽象方法。然而,我仍然可以在一个类型上使用它,它会返回所有实现的接口,而无需为 MustOverride 方法编写任何代码。
进入 MustOverride 方法的这段代码在哪里?我是否只是通过在创建的类型上调用方法以某种方式间接覆盖了它?
这个问题纯粹是基于研究和发现,除了理解语言的范围之外,我并没有试图做任何事情。
这是我使用的代码:
java - 抽象类初始化
我有一个抽象类:
它提供了非抽象方法,然后我想像这样初始化它:
所以在初始化时,它仍然给我一个错误,但是为什么呢?如果我在类中提供一个抽象方法,那么类无法初始化也是可以理解的。在这种情况下,为什么它仍然给出错误?任何帮助,将不胜感激
java - 如果无法创建抽象类的新对象,那么在抽象类中使用非抽象方法有什么意义?
抽象类可以同时具有抽象方法和非抽象方法。如果无法创建抽象类的新对象,那么在抽象类中使用非抽象方法有什么意义?
我知道您可以覆盖子类中的非抽象方法,然后通过子类的对象使用它。但是,如果您这样做,那么首先需要具有实现的非抽象方法是什么?
java - 在抽象类中声明具体方法
我需要为toString()
我的抽象类的所有具体方法重写方法——在所有情况下都完全相同。所以这就是我想做的(SomeEnum
是一个单独的类,它只有一个枚举声明):
抽象类
具体类(示例)
出于某种原因,如果没有运行时异常,我不能这样做,toString()
我需要在抽象类中声明抽象方法,然后在每个具体类实现中提供(完全相同)实现。
这种方法有什么问题?
编辑:我得到的例外是NullPointerException
然后将我指向ClassA.toString()
.
java - 为什么 abstract 和 strictfp 关键字不能在方法声明中一起使用的原因?
我正在阅读 katherine sierra 的 SCJP。
我知道抽象和最终关键字不能一起使用,因为它们相互矛盾,如书中所述。
但是,我不明白为什么 strictfp 和 abstract 关键字不能一起使用。
我还不知道 strictfp 关键字在 Java 中究竟是如何工作的。
在我看来,可以声明一个抽象的 strictfp 方法,拥有一个子类,并以“strictfp 方式”实现该方法。
这些关键字不能很好相处的原因是什么?
编辑
我已经仔细检查了这本书,它肯定说
因为接口方法是抽象的,它们不能被标记为 final、strictfp 或 native。
来自 Katherine Sierra 的 SCJP。第 21 页。
我的 IDE(Eclipse Juno)也说我不能同时使用 abstract 和 strictfp 关键字。
嗯,为什么不呢?
acceleo - 如何从 mtl 语言的超类中获取抽象方法
我正在使用 Acceleo-MTL 生成 Java 类。如何从抽象超类中获取所有抽象方法?
为了获得简单的操作和接口,我使用这个:
是否存在像getImplementedInterfaces()
接口一样的抽象方法的 getter 方法?