1718得票27回答
抽象方法和虚方法有什么区别?

抽象方法和虚方法有什么区别?在哪些情况下建议使用抽象或虚方法?哪种方法是最佳的? 抽象方法是没有实现的方法,必须在子类中实现,而虚方法有默认实现但可以被覆盖。如果希望强制子类实现特定方法,则应该使用抽象方法,如果希望提供默认实现并允许子类覆盖它,则应该使用虚方法。选择哪种方法取决于你的具体需...

629得票16回答
我们能否实例化一个抽象类?

在我的一次面试中,我被问到“我们能否实例化一个抽象类?” 我的回答是“不能”。但是面试官告诉我,“错了,我们可以”。 我对此进行了一些争辩。然后他让我回去自己尝试一下。abstract class my { public void mymethod() { System...

456得票13回答
在Python中是否可以创建抽象类?

如何在Python中创建一个抽象类或方法? 我尝试像这样重新定义`__new__()`: class F: def __new__(cls): raise Exception("Unable to create an instance of abstract cla...

353得票14回答
在Kotlin中扩展数据类

数据类似乎是Java中老式POJO的替代品。这些类允许继承是非常可预期的,但我却找不到方便的方法来扩展数据类。我需要像这样的东西:open data class Resource (var id: Long = 0, var location: String = "") data class ...

293得票6回答
Python 中的抽象方法

我在使用Python的继承方面遇到了麻烦。虽然在Java中这个概念对我来说似乎非常简单,但直到现在我仍然无法理解Python中的继承,这让我感到惊讶。 我有一个如下的原型:class Shape(): def __init__(self, shape_name): sel...

251得票5回答
在TypeScript中声明抽象方法

我正在尝试找出如何在TypeScript中正确定义抽象方法: 使用原始的继承示例:class Animal { constructor(public name) { } makeSound(input : string) : string; move(meters) ...

218得票9回答
Java抽象接口

考虑一个例子(它可以在Java中编译)public abstract interface Interface { public void interfacing(); public abstract boolean interfacing(boolean really); } ...

199得票3回答
如何通过反射确定Java类是否为抽象类

我正在遍历一个Jar文件中的类,并希望找到那些不是抽象类的类。我可以通过实例化类并捕获InstantiationException来解决这个问题,但是这样会影响性能,因为有些类具有重启动负载。在Class.java文档中,我没有找到任何明显类似于isAbstract()的东西。

167得票18回答
如何在JavaScript中创建抽象基类?

在JavaScript中是否有可能模拟抽象基类?最优雅的方法是什么? 比如说,我想做这样的事情: var cat = new Animal('cat'); var dog = new Animal('dog'); cat.say(); dog.say(); 它应该输出: meow ...

146得票4回答
为什么要将Java接口方法声明为抽象的?

我今天在Eclipse中使用了“拉取接口”重构功能,在现有类的基础上创建了一个接口。对话框提供了将新接口的所有新方法创建为“抽象”方法的选项。 这样做有什么好处呢? 我认为,允许声明接口方法为抽象方法是一种多余且无害的语言特性,不特别鼓励使用。 为什么Eclipse支持这样的风格,或者为...