1. 抽象的由来:将具体事物的公共特征提取出来,即为抽象。进行抽象的必要性是由于现实事物的复杂性与难实现性。
2. 抽象的作用:
(1) 模拟具体的事物
(2) 模拟具体事物的过程
(3) 降低事物的复杂性
(4) ??
3. 抽象的学习:
(1) 既然抽象来自与现实,就要借助现实来理解抽象
(2) 抽象出来事物的状态几乎是有限的,它们的相互作用及运行规律通常是有限的,因而抽象具有可重复性,所以你只需要研究透一个(或几个)抽象实例即可(例如,在数据库理论中,有个概念叫做多值依赖,你只需要找到一个多值依赖的例子进行分析,就可以熟悉多值依赖这个概念)
4. 对抽象的抽象
对抽象的抽象即为多级抽象。例如,软件是对现实世界的抽象,然而为了更好的做出好的软件,人们有对软件进行了抽象,比如画程序的流程图,或软件的体系结构图。对多级抽象的学习与对抽象的学习方法一样。多级抽象的实质是抽象。
5. 将具体事物抽象化:
(1) 提取其中的实体
(2) 提出其中的过程
(3) 提取实体和过程的特征
例如,要把“小红去吃饭”这个现实抽象化,其中的实体有小红和饭,过程有“去”和“吃”,实体的特征是小红的相貌、气质、衣着等,饭的类型(是炒米还是面条),过程的特征是“去”的方式(走、跑、跳)、“去”的环境(马路、楼梯等),“吃”的方式(用的是“刀”还是“叉”)、吃的快慢等。
6. 抽象的应用
(1) 利用抽象去描述现实(或模拟现实)
(2) 利用抽象去描述抽象
(3) 利用抽象去证明现实(比如某事物发生的可能性)
例如,利用上面的例子,我们可以描述“小红去吃饭”这一过程,当然我们也可以用计算机模拟这一过程。再比如,我们要证明某飞船是否能顺利的完成登月任务,我们可以对其抽象,将所有的物理因素,人为因素都加进去,把整个过程完整的描述出来,得到的结果即为可能的结果。
7. 抽象的还原:
在上面提到“借助现实”来理解抽象,下面为如何从抽象还原为现实:
(1) 找出抽象的应用场合(比如,“函数的多值依赖”这个抽象是应用在数据库中数据模式的设计中的)
(2) 从应用场合中找出抽象的一个实例(比如,上个例子的实例为一个存在多值依赖的数据表)