抽象一词在计算中有其他解释吗?

Has the word Abstraction other interpretations in computing?

我在编程方面还很陌生,困扰我的并不是真正的编码(嗯,至少直到现在!)本身,而是一些 words/concepts 理解起来非常重要的东西。我怀疑“抽象”这个词。我已经查过字典,看过一些视频,人们对这个词给出了非常清楚的解释。所以,我知道抽象是当你只考虑重要的事情而忽略其他一切(用非常简单直接的语言),例如,如果你要换灯泡,你不会需要知道灯泡或灯座的制造商。您也不需要知道用于制造灯泡的材料。然而,问题是当你阅读一些文本或听人们使用这个词时,它似乎不符合意思,然后你开始怀疑他们是否误用了这个词(我认为这不太可能)或者是因为有是我还没有找到的另一个晦涩的含义,也许只是因为我太笨了,无法理解它。下面我摘录了我正在阅读的文章,并将出现该词的部分加粗并大写,以便你们了解上下文并了解我的问题所在。谢谢。

“范式编程提供并确定程序员对程序的结构和执行的看法。例如,在面向对象的编程中,程序员可以将程序抽象为相互交互的对象,而在函数式编程中,程序员抽象程序 作为以堆栈方式执行的函数序列。

“元组 space 具有在分布式系统上创建 共享内存抽象 的功能,每个人都可以对其进行读写。”

这些似乎符合您之前提出的定义。对于面向对象的编程,思维方式是将“对象”视为程序的基本(重要)方面,并将所有其他考虑因素抽象出来。函数式编程也是如此,其中“函数”是定义方面,将其他考虑因素抽象为次要因素。

元组 space 可能有点棘手,但如果您认为内存存储模型的变体被抽象掉以支持关注值集合的更高级别概念,那么您就会明白抽象是什么涉及到。

如果将 abstract/abstraction 替换为它的同义词之一 conceptualize/conceptualization 就很容易理解了。在您的前两个示例中,“抽象程序”意味着“将程序视为”......或“将程序概念化为”......当我们进行抽象时,我们会忘记一些细节,并以其他方式思考那个东西.

一位初学者的补充建议: 作为不到一年前开始独立学习计算机科学的人,我现在可以告诉你,会有很多像这样的棘手术语。尽量不要太在意它们。通常,如果您不断学习,您会在不知不觉中亲身体验这些术语的含义。点点滴滴会加起来。这个存在的收获是,不要让你不知道的事情让你慢下来。有时候坚持下去也可以,只是一时不知所措。

摘要

形容词

  1. 存在于思想或想法中,但没有物理或具体的存在。
  2. 关于或表示不试图表现外部现实,而是寻求使用形状、颜色和纹理来实现其效果的艺术。

动词

  1. 从理论上或与(其他)分开考虑某事。
  2. 提取或删除(某物)。

名词

  1. 书籍、文章或演讲的内容摘要。
  2. 抽象艺术作品。

你有你的答案。问 100 个人什么是抽象画,你至少会得到 100 个答案。为什么程序员的行为应该不同?


让我们看看 Oracle 对抽象的看法 类:

Abstract classes are similar to interfaces. You cannot instantiate them, and they may contain a mix of methods declared with or without an implementation. However, with abstract classes, you can declare fields that are not static and final, and define public, protected, and private concrete methods.

Consider using abstract classes if any of these statements apply to your situation:

  • You want to share code among several closely related classes.
  • You expect that classes that extend your abstract class have many common methods or fields, or require access modifiers other than public (such as protected and private).
  • You want to declare non-static or non-final fields. This enables you to define methods that can access and modify the state of the object to which they belong.

将其与上一节中抽象的定义进行比较。我认为您对计算机编程中的抽象性有很好的了解。