栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

抽象在编程中意味着什么?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

抽象在编程中意味着什么?

抽象是所有计算机科学中的核心概念。没有抽象,我们仍将使用机器代码进行编程,或者更糟糕的是首先没有计算机。所以恕我直言,这是一个非常好的问题。

什么是 抽象

抽象 事物意味着 事物 命名 ,以便该名称抓住功能或整个程序的核心作用。

您参考的书中给出了一个示例,其中说

假设我们正在使用海龟,并且我们需要的常见操作是绘制正方形。“画一个正方形”是许多较小步骤的抽象或思想块。因此,让我们编写一个函数来捕获此“构建块”的模式:

暂时忘掉海龟,只想画一个正方形即可。如果我告诉您在纸上画一个正方形,您会立即知道该怎么做:

  • 绘制一个正方形=> 绘制一个所有边长均相同的矩形。

您可以执行此操作而无需其他问题,因为您完全知道 正方形 是什么,而无需我一步一步地告诉您。在这里,“ 正方形 ”一词是“绘制所有边长均相同的矩形”的
抽象

抽象深入

但是等等,你怎么知道什么是 矩形 ?好吧,这是以下内容的另一种抽象:

  • 矩形 =>绘制两条长度相同的彼此平行的线,然后添加两条垂直于其他两条直线的平行线,它们的长度也相同,但长度可能与前两条长度不同。

当然,它可以进行 在线平行垂直连接, 这些都是众所周知概念的 抽象

现在,想象一下每次要绘制矩形或正方形时,都必须给出矩形的完整定义,或者说明直线,平行线,垂直线和连接线-这样做会花费太长时间。

抽象的真正力量

是抽象 的第一个 力量: 它们使交谈和完成事情变得更加容易。

抽象的第二种力量来自于 可组合性 的好特性:定义了抽象之后,就可以 组成
两个或多个抽象以形成一个新的更大的抽象:说您厌倦了绘制正方形,但是您确实想绘制一 所房子 。假设我们已经定义了 三角形 ,那么我们可以定义:

  • 房子 =>画一个 正方形 ,上面有一个 三角形

接下来,您要一个村庄:

  • 村庄 =>彼此相邻画多 栋房子

哦,等等,我们想要一个城市-我们有一条新的概念

  • city =>吸引许多彼此靠近的 村庄 ,用更多的 房屋 填充空白处,但留出空间留给 街道
  • 街道 =>(街道的某些定义)

等等…

这一切如何适用于编程?

如果在计划程序的过程(称为 分析和设计
的过程)中,您找到了要解决的问题的良好抽象,那么程序就会变得更短,因此更容易编写,而且可能更重要的是,它更易于阅读。执行此操作的方法是尝试掌握定义问题的主要概念-
如在绘制 房屋 的(简化的)示例中,这是 正方形三角形 ,在绘制 乡村的 过程中是 房屋

在编程中,我们将抽象定义为函数(以及一些其他构造,如类和模块,但现在让我们集中讨论函数)。函数本质上是 命名 一组单条语句,因此函数本质上是一种抽象-
有关详细信息,请参见本书中的示例。

这一切的美丽

在编程中,抽象会影响生产力。这就是为什么通常将常用功能收集到
中以供其他人重用的原因。这意味着您不必担心细节,只需要了解如何使用现成的抽象即可。显然,这应该会使您更轻松,因此您可以更快地工作,从而提高工作效率:

范例

想象有一个名为“ nicepic”的图形库,其中包含上述所有抽象的预定义函数:矩形,正方形,三角形,房屋,村庄。

假设您要基于上述抽象来创建一个程序,该程序描绘了一幅漂亮的房子,那么您所要做的就是:

import nicepicdraw_house()

因此,只需两行代码就可以进行更详细的说明。那不只是美好的吗?

希望这可以帮助。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/639952.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号