什么时候必须使用接口而不是抽象类?
我想知道何时应该使用接口。
让我们考虑以下内容:
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