任何人都可以广泛地解释抽象类和接口吗?

时间:2017-07-25 20:08:21

标签: oop interface abstract-class

任何人都可以广泛地解释抽象类和接口吗?我从理论上了解这些,但我认为这还不够实施。我看过很多关于这些的教程,但在我看来,没有抽象类我可以完成我的工作,所以我需要使用抽象类。实际上,我想知道抽象和界面的确切用途以及它将如何有用。

1 个答案:

答案 0 :(得分:1)

了解这两种机制在编程中的作用是非常难以教授的,因为在纸面上它们有很多相似之处,而在代码中,根据语言更是如此。您提出的问题可能会引发许多重复的引用,因为这是一个被问到很多的问题。但是要集中讨论这个问题的前提,我会看看是否可以添加更多的上下文。

<强>接口

一种在类之间声明常见相关属性和方法的方法。类定义可以继承其中的许多,并且由每个类声明继承所述接口以实现成员和方法。

抽象类

与接口类似,抽象类声明了常见的相关属性和方法,但是类只能继承一个抽象类,这是两者之间主要定义的特征(和明显)差异之一。由于这一特性,您经常会听到被称为基类的抽象类(尽管任何类都可以是基类,只要它不是sealedfinal)。其他一些与语言相关的差异包括能够定义静态,实例化,受保护和虚拟(可以被覆盖)的方法。

因为你可以看到这两种机制都有它们的用途,而且每种机制都有另一种机制。这意味着有时候一个是相关的,而另一个则没有,以及两者同时需要的时候。