
使人们能够独立于程序的实现细节来理解数据结构的特性。
抽象数据类型通常是对数据的某种抽象,定义了数据的取值范围及其结构形式,以及对数据 *** 作的集合。
例如,各种高级程序设计语言中都有“整数”类型,尽管它们在不同处理器上实现的方法不同,但对程序员而言是“相同的”,即数学特性相同。从“数学抽象”的角度看,可称它为一个“抽象数据类型”。
抽象数据类型的特征是将使用与实现分离,从而实行封装和隐藏信息。抽象数据类型通过一种特定的数据结构在程序的某个部分得以实现,只关心在这个数据类型上的 *** 作,而不关心数据结构具体实现。
扩展资料数据结构里将问题通过实体分析,分层分类地实现抽象数据类型,从而进行简单应用编程(基于对象编程)以数据抽象为主的抽象编程。
这种抽象编程,通过数据类型复用,方便编程,方便维护和扩展,其效果比过程化编程更好编程语言中没有许多具体的数据类型
要解决实际问题,很大部分工作是要建立数据模式与实际问题的对应,也就是建立抽象数据类型的过程对象化编程就是基于分层分类的抽象数据类型之具体编程,它能更好地实现数据结构和算法,便是将NWirth的程序公式:
程序=算法+数据结构具体化为:程序=算法+抽象数据类型。
参考资料来源:百度百科--抽象数据类型
>
侧重点不同。面向对象的语言是将方法封装后形成CLASS,主体函数侧重的是对象的抽象和实现;
而结构化C侧重的的是方法的抽象和实现。应该说结构化C是面向对象的语言的基础
结构化设计的思路:由上及下,逐级分解,每级求解,最终完成最初要求的功能
面向对象 的思路:先分析问题的本质,问题在现实中是由哪些个体(对象)来共同配合完成要所要求的活动,抽象出所有的对象,每个对象完成自己能做的部份,最终把问题中所有对象组合起来,就完成了所要求的求解。面向对象的思路更符合现实思考问题的思路,更自然。
结构化程序的概念首先是从以往编程过程中无限制地使用转移语句而提出的。转移语句可以使程序的控制流程强制性的转向程序的任一处,在传统流程图中,就是用上节我们提到的"很随意"的流程线来描述这种转移功能。如果一个程序中多处出现这种转移情况,将会导致程序流程无序可寻,程序结构杂乱无章,这样的程序是令人难以理解和接受的,并且容易出错。尤其是在实际软件产品的开发中,更多的追求软件的可读性和可修改性,象这种结构和风格的程序是不允许出现的。比如:C,FORTRAN,PASCAL等等
结构化程序设计方法主要由以下三种逻辑结构组成:
1)顺序结构:顺序结构是一种线性、有序的结构,它依次执行各语句模块。
2)循环结构:循环结构是重复执行一个或几个模块,直到满足某一条件为止。
3)选择结构:选择结构是根据条件成立与否选择程序执行的通路。
采用结构化程序设计方法,程序结构清晰,易于阅读、测试、排错和修改。由于每个模块执行单一功能,模块间联系较少,使程序编制比过去更简单,程序更可靠,而且增加了可维护性,每个模块可以独立编制、测试。
面向对象程序语言中支持的对象具有三个明显得特征:
封装、继承、多态;而Javascript在类别和副本上并没有明显地分界。事实上,Javascript语言中所有的变量数据类型在JS中都是对象。JS总共支持4种对象:内置对象、自定义对象、浏览器程序对象和ActiveX对象。 return this只是返回该对象,以便别处引用,但并不是多出一个对象。
所以,面向过程的程序设计中:程序=算法+数据结构
数据结构和算法相分离的,所以,系统庞大后,它的控制、移植、重用就成了问题。
而在面向对象的程序设计中:
对象=数据结构+算法
程序=对象+对象+
所以克服了面向过程的设计中存在的问题。
以上就是关于数据结构里抽象数据类型定义有什么用全部的内容,包括:数据结构里抽象数据类型定义有什么用、对象化的Http和请求对象HttpRequest、面向对象的程序设计和C语言的结构化程序设计有什么不同等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)