Oop 接口与抽象类的区别

Oop 接口与抽象类的区别,oop,interface,Oop,Interface,我在查看MSDN上接口和抽象类之间的差异,但对以下差异感到困惑: 如果您希望创建组件的多个版本,请创建一个抽象类。抽象类提供了一种简单易行的方法来对组件进行版本设置。通过更新基类,所有继承类都会随更改自动更新。另一方面,接口一旦创建就无法更改。如果需要新版本的界面,则必须创建一个全新的界面 我对这条线感到困惑 另一方面,创建后无法更改。如果需要新版本的界面,则必须创建一个全新的界面** 你能帮我解释一下吗?抽象基类是一个只想派生的类。接口是一个具体类的一组公共方法。虽然它们在实际功能上差别不大,

我在查看MSDN上接口和抽象类之间的差异,但对以下差异感到困惑:

如果您希望创建组件的多个版本,请创建一个抽象类。抽象类提供了一种简单易行的方法来对组件进行版本设置。通过更新基类,所有继承类都会随更改自动更新。另一方面,接口一旦创建就无法更改。如果需要新版本的界面,则必须创建一个全新的界面

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


你能帮我解释一下吗?

抽象基类是一个只想派生的类。接口是一个具体类的一组公共方法。

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

在接口中编写的方法,必须将其放入在iterface中实现的类中

抽象类与你放在抽象类中的方法相反,你可以在你的类中使用它,也可以不使用它