对OOP中“抽象”的定义感到困惑

时间:2014-02-25 20:03:36

标签: oop abstraction

我试图理解OOP中'抽象'的定义。

我遇到了两个主要定义。它们都有效吗?其中一个错了吗?我糊涂了。 (我用自己的话重写了这个定义。)

定义1:

抽象是从现实世界中获取某些物体并将其转换为编程术语的概念。例如创建Human类并为其提供int healthint ageString name等属性,以及eat()等方法。

定义2:

更一般的定义。抽象是一个在软件系统中 的概念,其中 '使事情更通用/更简单/抽象' 。几个例子:

  • 继承层次结构,其中较高的类更简单或更通用, 并定义更一般和抽象的实现。 而层次结构中的较低级别更具体和定义 更详细的实施。

  • 使用封装来隐藏其他类的实现细节,从而使类更加“抽象”(更简单)到外部软件世界。

这些定义是否正确?

(我指的是最传统和最接受的定义)。

0 个答案:

没有答案