【发布时间】:2018-10-19 07:26:16
【问题描述】:
我在很多面试中都遇到过这个问题,但在这里我很想知道面向对象编程中接口和抽象类之间的巨大区别。
有人在吗?
【问题讨论】:
标签: oop interface abstract-class
我在很多面试中都遇到过这个问题,但在这里我很想知道面向对象编程中接口和抽象类之间的巨大区别。
有人在吗?
【问题讨论】:
标签: oop interface abstract-class
界面: 1.接口不是类 2.接口使用——数据抽象,未来实现。 3. 接口只包含抽象成员。 4.Interface 包含声明,实现它的类必须在其上定义/添加逻辑。
抽象类 1.抽象类是一个类 2.抽象类用于基类。 3. 抽象类同时包含抽象+普通成员 4.抽象成员只有声明(如接口),而普通成员正在定义。
【讨论】:
接口和抽象类的一个主要区别是:
如果接口包含 9 个方法并且我们实现了该接口,那么我们需要覆盖类中的所有 9 个方法。
如果我们采用一个抽象类并扩展该抽象类,则无需覆盖所有 9 种方法,只覆盖我们需要的方法。
【讨论】:
主要区别在于,在接口中我们只能定义方法和变量,并在通过覆盖实现它的地方给出主体/值。 其中抽象类具有普通类和接口的属性。我们可以将变量和方法抽象为接口,也可以在同一个类中添加带有body/value的变量和方法。
【讨论】: