接口是否是最高级别的抽象?

Roh*_*nsi 6 oop interface

我对抽象和封装感到困惑.我觉得这个类是封装,因为它封装了数据和行为,而接口是抽象的.请注释

Bin*_*ier 13

我认为你的术语很混乱.

  1. 封装 - 将相关数据和功能放在一个地方.我们可以通过课程获得这个

  2. 多态性 - 允许使用统一接口处理不同数据类型的值.

可以通过继承基类(使用虚函数)和/或通过实现接口来实现多态性.

这些技术(以及其他技术)为我们提供了抽象,它实际上适用于我们用于将问题分解为更小组件的任何过程.

编辑

问)你问"我能说,抽象是通过封装和多态实现的最顶层的层次结构吗?"

A)我无法回答这个问题,我不知道你的意思是"最高"和"最高".这里没有层次结构.

功能分解是一种抽象形式,它可以在不使用面向对象的情况下实现,它应该在层次结构中出现在哪里?

我能用层次结构做的最好的就是这个定义(直接来自我自己的头脑,所以YMMV)

  1. 抽象是将大问题分解为较小组件的实践,因此每个较小的问题都可以在(相对)隔离中进行.
  2. 多态性是我们可以用来实现抽象的技术.它涉及识别可以以同类方式处理的不同类型的数据和行为.
  3. 接口仅声明行为类型,将行为封装在类型中.它不提供实际行为或数据
  4. 抽象类声明行为类型,但也可以提供行为和数据,所有行为和数据都封装在一个类型中.
  5. 因此,可以将接口视为提供 比抽象类更简单更纯粹的多态形式.