1面向对象思想和工作原理.pptx

  1. 1、本文档共32页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
1面向对象思想和工作原理

工程硕士课程面向对象思想和工作原理马俊万相皆“空”思考:存在和感知的关系?我和世界的关系?诸法空相,万法平等菩提本无树,明镜亦非台,本来无一物,何处惹尘埃。E=mc2有关指令和程序的思考什么是指令或命令?什么又是程序?而针对上图所示初始系统,可以编程如下:Move_Right Push_Right Push_Right Move_Down Move_Down省略Push_DownOK抽象的指令集为:{Move_Up: 上移一步Move_Down: 下移一步Move_Left: 左移一步Move_Right: 右移一步Push_Up: 上推一步Push_Down: 下推一步Push_Left: 左推一步Push_Right: 右推一步}有关指令和程序的思考指令:设一个系统S,有有限状态集合{S1,S2…Sn},从状态Si变换到Sj的一个基本约束规则可称为一条指令,指令的执行必定伴随着系统状态的改变和能量的变化。程序:程序是指某系统S从状态Si变换到Sk的有序的、有限的指令集合。因为指令的执行要消耗能量,所以一个程序的运行(即进程)也必须要在能量的不断供应下才能得以连续进行,直到程序执行的终点即系统的状态Sk。一个程序的本质就是一套有序的时空变换和能量转换系统,程序执行的结果一般是系统的状态发生了改变,或者产生了相应的能量转移或转换。通用图灵机世界观和方法论我们知道,哲学领域中,最根本的对立是唯物主义和唯心主义的对立,在这之下又有许多的对立系统,如形而上学和辩证法的对立、可知论和不可知论的对立等等。这些形成了哲学的基本体系、派别和出发点。实际上,这些对立都是世界观的对立,而世界观简单来说就是如何从主观上如何感知和认识这个世界的问题。世界观问题是一切哲学问题的本源和出发点。同样在计算机的虚拟世界里,也有着不同的世界观。而这其中最根本的对立便是过程论和对象论的对立,这个对立衍生出了面向过程和面向对象两种方法论。所以要想真正的理解面向过程和面向对象,我们就不得不先深究一下程序世界中的这两种世界观。对象论和过程论程序世界本质上只有两种东西——数据和逻辑规则。数据天性喜静,构成了程序世界的本体和状态;逻辑天性好动,作用于数据,推动程序世界的演进和发展。简单的说,逻辑是指数据状态随时间的变化规则。尽管上述观点是统一的,但是在数据和逻辑的存在形式和演进形式上,过程论和对象论的观点截然不同。过程论观点数据和逻辑是分离的、独立的,各自形成程序世界的一个方面(Aspect)。所谓世界的演变,是在逻辑作用下,数据做改变的一个过程。这种过程有明确的开始、结束、输入、输出,每个步骤有着严格的因果关系。过程是相对稳定的、明确的和预定义的,小过程组合成大过程,大过程还可以组合成更大的过程。所以,程序世界本质是过程,数据作为过程处理对象,逻辑作为过程的形式定义,世界就是各个过程不断进行的总体。对象论观点数据和逻辑不是分离的,而是相互依存的。相关的数据和逻辑形成个体,这些个体叫做对象(Object),世界就是由一个个对象组成的。对象具有相对独立性,对外提供一定的服务。所谓世界的演进,是在某个“外界作用力”作用下,对象间通过相互调用而完成的交互;在没有外界作用力下,对象保持静止。这些交互并不是完全预定义的,不一定有严格的因果关系,对象间交互是“偶然的”,对象间联系是“暂时的”。世界就是由各色对象组成,然后在初始作用力下,对象间的交互完成了世界的演进。过程 VS 对象 I. 过程论和对象论是两种看世界的观点,没有孰对孰错、孰好孰坏之分。 II. 过程论和对象论不是一种你死我活的绝对对立,而是一种辩证统一的对立,两者相互渗透、在一定情况下可以相互转化,是一种“你中有我、我中有你”的对立。如果将对象论中的所有交互提取出来而撇开对象,就变成了过程论,而如果对过程论中的数据和逻辑分类封装并建立交互关系,就变成了对象论。 III. 过程论相对确定,有利于明晰演进的方向,但当事物过于庞大繁杂,将很难理清思路。因为过程繁多、过程中又有子过程,容易将整个世界看成一个纷繁交错的过程网,让人无法看清。 IV. 对象论相对不确定,但是因为以对象为基本元素,即使很庞大的事物,也可以很好地分离关注,在研究一个对象的交互时,只需要关系与其相关的少数几个对象,不用总是关注整个流程和世界。但是,对象论也有困难。例如,如何划分对象才合理?对于同一个驱动力,为什么不同情况下参与对象和交互流程不一样?如何确定?其实,这些困难也正是面向对象技术中的困难。说有甲、乙、丙三人住店,一间房30。于是每人10元,共计给店老板30元住进一间房。后来店老板发现弄错了,房价应该是25元,于是给小二5元让小二退给房客。小二黑心,贪污了2元,退给甲乙丙每人1元。这样房客每人付了10-1=9元,三九27,加上小二贪污的2

文档评论(0)

xcs88858 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档