什么时候必须使用接口而不是抽象类?

我想知道何时应该使用接口。

让我们考虑以下内容:

public abstract class Vehicle {

abstract float getSpeed();

}

和:

public interface IVehicle {

float getSpeed();

}

我可以轻松实现它们,它们具有相同的功能…但是我也可以向车辆类中添加一些变量,这些变量可能应该在车辆中使用(maxSpeed,carType …)

使用接口的原因是什么?

谢谢!

我在另一个线程中找到了关于它的漂亮链接:http : //www.thecoldsun.com/en/content/01-2009/abstract-

classes-and-interfaces

回答:

从Java How toProgram关于抽象类:

由于它们仅在继承层次结构中用作超类,因此我们将它们称为抽象超类。

子类必须声明“缺失的部分”以成为“具体的”类,您可以从中实例化对象。否则,这些子类也将是抽象的。

要回答您的问题“使用接口的原因是什么?”:

一个 是提供一种适当的超类其他类可以继承并且因此共享共同的设计。

与接口相反:

一个 了一组可以在对象上调用的方法,但

......一旦一个类实现一个接口,该类的所有对象有一个是,一个接口类型的关系,并且

该类的所有子类也是如此。

因此,要回答您的问题“我想知道何时应该使用接口”,我认为您应该在需要完整实现时使用接口,而在需要部分设计时使用抽象类(以实现可重用性)

以上是 什么时候必须使用接口而不是抽象类? 的全部内容, 来源链接: utcz.com/qa/410371.html

回到顶部