知识大全 抽象的进步

Posted 语言

篇首语:有志者事竟成,破釜沉舟,百二秦关终属楚。。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 抽象的进步相关的知识,希望对你有一定的参考价值。

  所有编程语言的最终目的都是提供一种 抽象 方法 一种较有争议的说法是 解决问题的复杂程度直接取决于抽象的种类及质量 这儿的 种类 是指准备对什么进行 抽象 ?汇编语言是对基础机器的少量抽象 后来的许多 命令式 语言(如FORTRAN BASIC和C)是对汇编语言的一种抽象 与汇编语言相比 这些语言已有了长足的进步 但它们的抽象原理依然要求我们着重考虑计算机的结构 而非考虑问题本身的结构 在机器模型(位于 方案空间 )与实际解决的问题模型(位于 问题空间 )之间 程序员必须建立起一种联系 这个过程要求人们付出较大的精力 而且由于它脱离了编程语言本身的范围 造成程序代码很难编写 而且要花较大的代价进行维护 由此造成的副作用便是一门完善的 编程方法 学科   为机器建模的另一个方法是为要解决的问题制作模型 对一些早期语言来说 如LISP和APL 它们的做法是 从不同的角度观察世界 —— 所有问题都归纳为列表 或 所有问题都归纳为算法 PROLOG则将所有问题都归纳为决策链 对于这些语言 我们认为它们一部分是面向基于 强制 的编程 另一部分则是专为处理图形符号设计的 每种方法都有自己特殊的用途 适合解决某一类的问题 但只要超出了它们力所能及的范围 就会显得非常笨拙   面向对象的程序设计在此基础上则跨出了一大步 程序员可利用一些工具表达问题空间内的元素 由于这种表达非常普遍 所以不必受限于特定类型的问题 我们将问题空间中的元素以及它们在方案空间的表示物称作 对象 (Object) 当然 还有一些在问题空间没有对应体的其他对象 通过添加新的对象类型 程序可进行灵活的调整 以便与特定的问题配合 所以在阅读方案的描述代码时 会读到对问题进行表达的话语 与我们以前见过的相比 这无疑是一种更加灵活 更加强大的语言抽象方法 总之 OOP允许我们根据问题来描述问题 而不是根据方案 然而 仍有一个联系途径回到计算机 每个对象都类似一台小计算机 它们有自己的状态 而且可要求它们进行特定的操作 与现实世界的 对象 或者 物体 相比 编程 对象 与它们也存在共通的地方 它们都有自己的特征和行为   Alan Kay总结了Smalltalk的五大基本特征 这是第一种成功的面向对象程序设计语言 也是Java的基础语言 通过这些特征 我们可理解 纯粹 的面向对象程序设计方法是什么样的    ( ) 所有东西都是对象   可将对象想象成一种新型变量 它保存着数据 但可要求它对自身进行操作 理论上讲 可从要解决的问题身上提出所有概念性的组件 然后在程序中将其表达为一个对象    ( ) 程序是一大堆对象的组合   通过消息传递 各对象知道自己该做些什么 为了向对象发出请求 需向那个对象 发送一条消息 更具体地讲 可将消息想象为一个调用请求 它调用的是从属于目标对象的一个子例程或函数    ( ) 每个对象都有自己的存储空间 可容纳其他对象   或者说 通过封装现有对象 可制作出新型对象 所以 尽管对象的概念非常简单 但在程序中却可达到任意高的复杂程度    ( ) 每个对象都有一种类型   根据语法 每个对象都是某个 类 的一个 实例 其中 类 (Class)是 类型 (Type)的同义词 一个类最重要的特征就是 能将什么消息发给它?    ( ) 同一类所有对象都能接收相同的消息   这实际是别有含义的一种说法 大家不久便能理解 由于类型为 圆 (Circle)的一个对象也属于类型为 形状 (Shape)的一个对象 所以一个圆完全能接收形状消息 这意味着可让程序代码统一指挥 形状 令其自动控制所有符合 形状 描述的对象 其中自然包括 圆 这一特性称为对象的 可替换性 是OOP最重要的概念之一   一些语言设计者认为面向对象的程序设计本身并不足以方便解决所有形式的程序问题 提倡将不同的方法组合成 多形程序设计语言 (注释)   [注释] 参见Timothy Budd编著的《Multiparadigm Programming in Leda》 Addison Wesley 年出版    cha138/Article/program/Java/JSP/201311/19665

相关参考

列宁指出:“物质的抽象、自然规律的抽象、价值的抽象以及其他等等,一句话,那一切科学的抽象,都更深刻、更正确、更完善地反映

列宁指出:“物质的抽象、自然规律的抽象、价值的抽象以及其他等等,一句话,那一切科学的抽象,都更深刻、更正确、更完善地反映着自然。”这一论断说明_____。A、感性认识和理性认识既有区别又有联系B、理性

知识大全 抽象数据类型的表示与实现

第二课本课主题抽象数据类型的表示与实现教学目的了解抽象数据类型的定义表示和实现方法教学重点抽象数据类型表示法类C语言语法教学难点抽象数据类型表示法授课内容一抽象数据类型定义(ADT)作用抽象数据类型可

抽象行政行为的种类:抽象行政行为分为执行性、补充性、自主性三种

抽象行政行为的种类:抽象行政行为分为执行性、补充性、自主性三种。_____答案:正确解析:抽象行政行为,是指行政机关针对不特定的对象,制定、发布能反复适用的行政规范性文件的行为。抽象行政行为的种类,可

知识大全 爪哇语言抽象工厂创立性模式介绍

  工厂模式有简单工厂模式工厂方法模式和抽象工厂模式几种形态其中简单工厂模式和工厂方法模式已经在前面作过介绍在这里我们来介绍抽象工厂模式  抽象工厂模式是所有形态的工厂模式中最为抽象和最具广泛性的一种

抽象劳动创造商品的使用价值

抽象劳动创造商品的使用价值。_____答案:错误解析:抽象劳动生产商品的价值,具体劳动生产商品的使用价值。故本题说法错误。

知识大全 数据结构之抽象数据类型[2]

  抽象数据类型  抽象数据类型(AbstructDataType简称ADT)是指一个数学模型以及定义在该模型上的一组操作抽象数据类型的定义取决于它的一组逻辑特性而与其在计算机内部如何表示和实现无关即

下列关于具体劳动和抽象劳动的表述,正确的是

下列关于具体劳动和抽象劳动的表述,正确的是_____。A、具体劳动是永恒的范畴,抽象劳动是历史范畴B、不同的具体劳动有质的不同,抽象劳动没有质的差别C、具体劳动反映人与自然的关系,抽象劳动体现商品生产

哲学上的可能性有现实可能性和抽象可能性之分,以下属于抽象可能性的是

哲学上的可能性有现实可能性和抽象可能性之分,以下属于抽象可能性的是_____。A、月球到地球之间修筑一部搭载电梯B、完成本年度工作计划C、中国建设永久性宇宙空间站D、以上均不是答案:A解析:现实可能性

知识大全 php中抽象类和接口的概念以及区别

本篇文章是对php中抽象类和接口的概念以及区别进行了详细的分析介绍需要的朋友参考下 复制代码代码如下://抽象类的定义abstractclassku//定义一个抽象类abstractfunc

知识大全 C#中抽象类和接口的区别与使用

C#中抽象类和接口的区别与使用  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  一抽象类  抽象类