接口和抽象类之间的差异

时间:2013-10-20 18:24:32

标签: oop interface

我在MSDN上遇到了Interface与Abstract类之间的差异,但对下面的差异感到困惑:

如果您预计要创建组件的多个版本,请创建一个抽象类。抽象类提供了一种简单易用的组件版本。通过更新基类,所有继承类都会随更改自动更新。另一方面,接口在创建后无法更改。如果需要新版本的界面,则必须创建一个全新的界面

我对这条线感到困惑 另一方面,一旦创建就无法更改。如果需要新版本的界面,则必须创建一个全新的界面**

你能帮忙解释一下吗?

3 个答案:

答案 0 :(得分:1)

你在接口中编写的方法,你必须把它放在你的类中,它在接口中实现

抽象类是接口的对立面,你放在抽象类中的方法你可以在你的类中使用它,也可以不使用它。

答案 1 :(得分:0)

抽象基类是一个其唯一意图派生的类。接口是具体类的公共方法集。

答案 2 :(得分:0)

虽然它们在实际功能上的差别很小,但我喜欢将接口视为形容词而抽象类是名词。对于动物的经典实例,使用界面来描述属性,如可爱,友好,危险。另一方面,抽象类会更加狭隘地描述事物本身,如犬,猫或人。