计算机中的抽象

计算机中的抽象

ID:44327509

大小:31.00 KB

页数:5页

时间:2019-10-20

计算机中的抽象_第1页
计算机中的抽象_第2页
计算机中的抽象_第3页
计算机中的抽象_第4页
计算机中的抽象_第5页
资源描述:

《计算机中的抽象》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、计算机中的抽象什么是计算机中抽象?抽象是指在思维中对同类事物去除其现象的、次要的方面,抽取其相同的、主要的方面,从而做到从个别中把握一般,从现象中把握本质的认识工程和思维方法。在计算机学科中,抽象也称为模型化,源于实验科学,主要要素为数据采集方法和假设的形式说明、模型的构造与预测、实验分析。结果分析。在为可能的算法、数据结构和系统结构等构造模型时使用此过程。抽象的结果为概念、符号和模型。在图论中体现的是抽象与理论形态,欧拉从哥尼斯堡七巧板问题入手,将其抽象为边和点的问题进行研究,成为图论研究的先驱。哈密顿回路、中国邮路等问题都是对现

2、实问题进行的抽象,这些问题的研究和解决形成了一套比较完整的关于图的理论,包括一系列的定义、公理和定理等。抽象是任何一门科学都具有的特征,科学理论就是对客观世界进行抽象进而总结出的一般规律。数学的抽象是最高级、最高程度的抽象,它抛开现实事物的物理、化学和生物学等等特征,而保留其本质的量化关系和空间形式。专家学者及实际开发人员要对有效的软件开发方法进行总结,形成普遍适用的软件工程方法和软件开发标准,如生命周期法、面对对象法等,这是理论过程:开发人员总要为解决软件开发中遇到的问题而提出解决方案,如应用数据流程图、数据字典、流程图等工具进行

3、系统的分析和设计工作,这便是抽象。那么详细来讲什么是计算机中的抽象?首先,人脑往往不适于长幅记忆或直接面对复杂的二进制底层,人们在面对根本无法控制的事情时,往往把它们转化为另外一件可控的事抽象正是这样一种方法,它可以隐藏低级层面的复杂性,而在另一个层面上提供新的更为强大的能力。再在这里抽象上构建更为高层的抽象,即抽象只是把问题变了个形式,抽象完成了之后,只要不是过度抽象,那么所有后来的事情都是另外一回事了,抽象是解决移殖问题最好的方法,抽象源于一个简单的事实,把事物从逻辑上分开,这样就会解偶他们之间的联系。只有把接口拉高,向高层抽象

4、,那么就可以忽视平台逻辑,其次,从问题到解决不是一步而就的,所有需要建立中间层,先完成这诸多中间层,当中间的逻辑被解决的时候,事情自然就变得简单了(从这个意义上来说,世间一切软件都是抽象品,软件即抽象),抽象的本质在于远离问题,从靠近人的一个高层角度去解决更高级的问题。但是抽象的优点正是它的限制性,它可能带来再大的复杂性,一般抽象到了某个程度,为了获得计算机作为底层的冯氏能力,,就不应该再抽象下去了。开发模型不需要再变了,数据抽象到数据结构级就是顶级了再抽象就不是开发问题了,现在的虚拟机的提出,都是基于已有的模式,直接参照硬件上的机

5、器设计中断,模拟数据类型等,从来没有那个虚拟机,其内部结构不是图灵模型,因为如果那样的话,它上面的开发模型将不再是数据加代码的方式。从来没有人突破过这个创新。仅仅因为大部分人没有想过,或根本无法尝试。其次,抽象就是编程界对事物方方面面的范式的一个界定。但一般的,抽象是抽取对象的可用部分,我们从来都是抽取事情对于我们的可用部分,所以设计时千万不能做大而全的抽象。抽象都是有唯度的,数据结构就是基于数据化类型的唯度抽象了开发中组织内存的套路,而高级语言机制或范式基于多样化写代码的唯度抽象了开发,设计模式是基于设计抽象了应用,而设计,就是人

6、的事情了,处在前面数据结构,范式,应用的所有实际上软件的设计哲学是可以用来解释一切的,因为它是真正的哲学,而真正的哲学并不仅适用软件开发(软工和计算机是二个完全不同的抽象,虽然没有人提出过计算机抽象到底是什么,软工抽象到底里面有哪些抽象存在,我们仅能站在某个或某些唯度上给出一个描述性的概念而不是有限集,这也就够了,如果能站在一个大全的唯度上说明到软工的全部抽象,虽然这是不可能的,但我们还是给得出的这个结果取个名字,叫范式,范式在意义上是大全而的抽象,然而人类的范式总表现为某些唯度上的产物上面层次。下面详细介绍这个唯度的概念。我们来问

7、个问题,程序如何分类呢,从算法和数据结构的角度看我们可以发现,数据结构加算法等于程序。因为数据结构源于从一套相似的算法中找出操作对象的共性这个现实,而从复用来看呢,,又可以产生设计和接口就等于程序这种说法,因此这完全是不同事物的不同唯度而已。根本没有可比性。(至少二者都可以产生程序这个概念,于是,程序=机器加电也是正确的)抽象把事物的复杂度换化到另一层面,实际上也是另一唯度。这就是抽象与唯度。其实就语言本身来说,并没有汇编,C,C++和Java,Python,Ruby这几个语言之间哪个语言更强大一点的说法,大凡用其中一方能实现的功能

8、,用一方都完全能够抽象得到,Java所关注的Web编程领域,C++完全可以提供同样的功能实现,只有抽象完成,整个Windows系统都可以用Java来写,这就是说,在软件的抽象里,任何事情都可以以抽象叠成的方式来完成.但是,“决定用什么

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。