日历

September 2020
M T W T F S S
 123456
78910111213
14151617181920
21222324252627
282930  

Reply To: 抽象是什么?

Home Forums 《冒号课堂》讨论区 抽象是什么? Reply To: 抽象是什么?

#1151
rstevens
Member

郑老师:最近一直在做《冒号课堂》的读书笔记,在整个书中,最重要的观点就是“抽象”

如你所总结的, “在编程设计过程中所谓的抽象,是指在一定的视角和一定的层次上,对问题域的一种筛选——筛下表面,留住本质;筛下差异,留住共性;筛下实现,留住规范;筛下how to do,留住what to do。”

我理解,抽象是一种思维的“过程”,包括思考发生的场合(层次)、思考的方式(如何筛选)

如果这个理解是对的话,那么我对 7.2 节“数据抽象”的理解如下:

1、 数据抽象发生在实现阶段,通常是在如何实现一个类的过程中发生的。

2、 在进行数据抽象之前,已进行了“规范抽象”,提炼出了“接口规范”

3、 数据抽象是将“接口规范”映射到具体实现(通常指一个类)的过程

4、 抽象的方式是,按照“接口规范”定义出类的对外接口(API);到此为止,“数据抽象”已经结束

5、 数据抽象完成后,再考虑类的具体实现;围绕的是数据的组织方式、算法实现进行的;这些具体实现通过封装机制隐藏起来。

我感觉这种理解方式比较教条和生硬,并不符合实际情况,但是表达起来,更让人容易理解。

想听听你的看法。

 请您评分1星(很差)2星(不行)3星(一般)4星(不错)5星(很棒)