运用对象进行编程的意义

aocguang 2003-09-19 02:19:25


对于初学者来说,怎样理解用易语言来编程?跟VB、DELPHI、VC++等语言一样,都是围绕对象、运用现成的对象来进行编程的。我们理解了对象的含义及其作用,就能很好地理解编程语言,包括易语言,更能使我们培养编程思路,并培养独立完成程序编写的能力。比如上一节课的例程“祖国,您好!”,就是先设计好按钮、标签这两个对象,用“单击按钮”这个对象事件来作为执行指令的依据,然后就围绕这两个对象来进行编程。
所谓对象,指窗口、控件、数据库等之类的东西。所谓运用对象进行编程,其程序设计是以对象为中心,以事件作为执行程序的依据。 一般是指用具体的控件(即对象)来发出指令、接收指令、传送指令并反馈指令的一种编程方法,这种编程方法由于具有形象性和具体性,故易于为人们所理解。比如搞(至于怎样搞?,可以单击、双击或按下之类,“搞”即“事件”也)一下某个按钮(对象)就可以开始或结束一个程序,“搞”这个指令为某一个“事件”,点击后程序怎样运行(“移动”、“关闭”、“加入内容”之类)为“命令”或“方法”,“过程”(包括结果)通常表现为对象的属性(变量或常量)的变化(如“编辑框3.内容=(变为)“祖国,你好!”)。也即说运用对象进行编程的方法主要是运用对象(一般表现为具体的控件,有时也不一定)的属性(实质就是变量或常量)、事件、方法(动作)和过程来完成程序的一种编程思想和方法。
在易语言中我们就经常提及“对象”,并且通过改变对象的属性来设置各对象。
可能有同学要问运用对象、创建对象有什么好处?不运用对象行吗?这我们要从头说起。人类初期的编程语言都是面向过程的,由于没有任何现成的对象(窗口、控件、数据库等)可供编程时运用,单是创建一个控件可能就要用到数百行代码,并且大量的时间耗费在创建对象中。有一个著名的等式:数据结构+算法=程序,就是形容这种面向过程的编程方式的。
后来编程界出现运用现成的对象进行编程的方法,将常用的程序过程和数据结构模块化、对象化,以便供人们在编程时引用。用这种方式进行编程,你不必再去编写冗长的界面程序(如绘制坐标轴、绘制按钮及其按钮下陷的效果等等),你的重点完全在程序功能的实现上,而不是在界面的绘制上,这样的编程方式大大缩短了软件的开发时间,提高了程序员的开发效率,也使编程就象网页设计或画画一样简单。随着软件不断向复杂性、大规模、多功能性发展,加上某些发展成熟的编程语言既能使用对象,又能创建对象,使这种运用对象的编程方式越来越显示它的强大魅力。
打个比方来说明,人们一般在吃饭的时候用到筷子、碗、叉子等,但你想一想,如果人们都在吃饭的时候才去用原料制造一些器具,那么情况又如何呢?明白了运用对象的意义了吗?当然如果你是编程天才,那么你也可以开发自己的“对象”甚至是开发自己的编程语言,像吴涛先生那样运用面向底层、面向对象的编程方式,也就是相当于自己使用筷子、碗、叉子来吃饭,也给别人制造筷子、碗、叉子,或者可以比喻成“既搞建筑,又开砖厂”。这种编程方式又比单纯运用对象的方式更高了一层次。
至于运用对象进行编程的含义,试举一例说明:
子程序:_按钮1_被单击 ※由对象名和事件名构成该名称
编辑框3.内容="金善喜" ※将该对象的属性赋值为"金善喜"
如果(_按钮1_被单击=真)
则 编辑框3.内容="朱茵" ※该对象属性值变为"朱茵"
否则 返回 ※该对象属性值还是"金善喜"

以上例子通过"单击"事件触动"按钮1"对象发出指令,而"编辑框3"对象接收并反馈该指令,使其属性值发生变化,从而完成程序。
再看下一例:

子程序:_按钮1_被单击
编辑框2.内容 = 编辑框1.内容 ※当单击按钮1时,把编辑框1的内容传给编辑框2
编辑框1.内容 = “” ※然后再清空编辑框1,为下次输入内容作准备

在这一例中,“编辑框1”的内容属性值和“编辑框2”的内容属性值都不是固定的。没有固定值的属性或在程序运行过程中可以随时发生变化的量我们就称为“变量”(即易语言所说的“容器”)。一般我们先要声明变量(即建立容器),以便跟常量区别开来,然后再赋予属性值(范围)。如果没有声明变量就运行程序,一般会提示:“对不起,没有找到相关容器”。就象你填履历表,如果你没有把你的属性(年龄、性别、学历等)填好填正确,上面就发下来让你重填,道理一样。
但上面例子没有经过声明就可以赋予属性值(即“编辑框2.内容 = 编辑框1.内容),这是为什么?什么时候要建立容器?什么时候不用建立容器?且听下一章分解 。


本章思考与练习

1、试编写程序,单击鼠标可以改变启动窗口的标题。
2、易语言的特点是什么?
3、试把编程的输入法变成你自己所用的输入法。
4、在“祖国,您好!”的例程中,除了点击“按钮1”可以使系统创建一个子程序外,还有什么方法快速创建该事件的子程序?
5、谈谈你对运用对象进行编程的理解。

...全文
90 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

3,423

社区成员

发帖
与我相关
我的任务
社区描述
其他开发语言 其他开发语言
社区管理员
  • 其他开发语言社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧