日期:2014-05-20  浏览次数:20886 次

对象之所以成为对象
什么是对象?
        对象是变量和方法的结合体,它就类似于我们现实生活中的事物。
什么是类?
        类是具有相同属性和方法的集合,是对象的抽象。
        这是教科书上常用的描述方法。但我认为这种描述其实是最不负责任的。这种话谁都会说。我们所以看到的书都是这么说,大概也是缘于中国的一大特色--互相抄袭的缘故。他们中的大多数作者并不理解其中的概念,人云而亦云。--只要懂字便可以出书,这便是中国的特色。
        对于文字描述的事物(所谓的概念)和现实事物之间的理解,人脑要把它们联系起来,主观上并不容易,因为客观上它们之间是存在脱钩情况的。用计算机代码描述的对象(比如杯子)和现实存在的对象本身几乎可以说风马牛不相干。比特和原子本来就是不可联系的东西。要让我们再把由它们叠加起来的更为复杂的东西联系起来,不仅需要事先对计算机环境有所熟悉,更需要一定的想象力,通俗来说就是要让学生们明白为什么一段由所谓变量和函数组成的计算机代码就可以称为是杯子的,以便于跟现实的杯子这个活生生的东西勾结起来,虽然中间还需要想象,但这种想象已变成常人都能完成的思考能力了,我认为这就是理解对象概念的第一初始要素,也就是第一要给予关注的关键点。
        我在看来,要把比特物和原子物这两个本不相干的东西联系起来,唯一方法就是比较,通过对比把她们硬勾结起来。如果有人试图通过演绎和推理的方式来把她们联系起来,那是比较幽默的。
        如何比较?指导思想其实很简单,就是让学生们明白一段代码怎么看起来就是象现实中的杯子或是任何一件想表达的现实中存在的东西,比如一个美女。目的就是让学生们看到代码就象看到事物,即见码如见物。
        如何达到以上目的,这需要从一个最初始的问题开始,就是回答什么是程序和程序的功能是什么?
        简单说程序就是代码块,具体点就是由数据码和指令码组成的代码模块。这里需要突出的是数据和指令是组成程序的两个基本要素,缺一不可。并且一个程序除了数据就是指令,除了指令就是数据,再没有所谓的第三个要素。
        程序有什么功能?我们的回答是由一定量的数据码(变量)和指令码(方法或函数)组成的程序,只要给予适当的设计,理论上均可以给出任何我们需要表达的东西,这些东西的表现形式可以是屏幕方式也可以是内在的存储模式(我们想从程序得到的无非因为就是这些形式的东西),它们可以是一个返回值,或是一个显示在屏幕上的东西,如文字、按钮、窗口、杯子、动画、美女等。
        话说到此大家是否有所明白,实际是只要我们把编程模块也包含进一定量的数据和函数,也就具有了程序的特性,因此也自然的便有了表达任何事物的能力了,比如画杯子画窗口画美女等等,也就是它实际就是一个名副其实的程序了,只是看我们想把它做成一个大程序模块还是小程序模块而已。
        问题的要害就在于此,目前我们所谓的面向对象的编程模式实际就是基于这样的思想开发出来的,就是把编程模块都做成包含数据和函数的小程序,这些小程序在语言中我们通常用类模块来表达。而既然类就是实际意义上的小程序,那么回答对象概念就变成一件简单的事情了。→因为类是一段小程序,因此其生成的所谓对象也是一段小程序;既然对象是一段小程序,那么它便可在内存模式或屏幕模式上表达出任何我们想要的东西,如一个桌子、一辆轿车、一个人、一匹马、一个小按钮、一段文字、一部电脑、一个美女、一幅动画、一门大炮、一堆土、一堆粪便、一只蚂蚁、一件衣服等等等等....而只要你看到这些,你敢说它不是一种我们现实生活中的东西吗?敢说它不是所谓的生活对象吗?除非你不是人。

------解决方案--------------------
算是基础知识实习贴?顶一下!
------解决方案--------------------
有分,顶
------解决方案--------------------
看看~~
------解决方案--------------------
中国做程序的,太急功近利,不是注重代码的完善,不是注重对于概念的理解,而是把你能做出什么东西放在第一位。容易走死胡同,不过也可能是我们始终停留在初级阶段没有更多的对程序的理解吧。其实感觉编程是种艺术,被中国和印度人已经弄得像是一种重复劳动,痛苦不堪。
------解决方案--------------------
没有看太明白....
------解决方案--------------------
理论性很强,不过可以用简单的几句话来描述。

------解决方案--------------------
万事万物皆对象
------解决方案--------------------
编程就是重复劳动。
------解决方案--------------------
理论基础

------解决方案--------------------
研读中
------解决方案--------------------
看不懂
------解决方案--------------------
世界是物质的,物质是运动的,运动是有规律的
------解决方案--------------------
支持

------解决方案--------------------
对象之所以成为对象全是为了数据的封装
底层运行还是和C时代一样的