|
所谓面向对象的编程,就是程序代码由对象的属性、事件和方法来构成,所以我们要学用编程,就必须了解对象的属性、方法和事件,这样你才能理解代码的意思,为编程打下必需的知识基础。 说到控件(易语言称为窗口单元),我们不能不提对象。可以说对象跟控件在意思上相近,把对象画出来放到窗口上我们就称为控件(对象通过具体的控件来表现),比如“按钮”对象。但对象不一定表现为具体的控件,比如“菜单.可视=真”中,“菜单”这个对象在易语言中就找不到有控件。 ㈠、什么是控件? “控件”在一些编程语言中又被称为“构件”、“部件”之类,易语言按其自身的语言逻辑一般称之为“窗口单元”。 在实际应用程序时,常常要多次向计算机发送不同指令。那怎样发送指令? 是不是用嘴对计算机说:“现在我向你下达一个旨意,怎样怎样”、“长江、长江,请追击敌人,over”,然后计算机说:“喳!遵旨”、“yes,黄河,yes,黄河,over”?当然不是,是通过按钮、发话框、选择框之类的控件(易语言称为窗口单元)发送命令,然后又由这些控件来执行指令的(即有些控件常用来发令,有些主要用于执行命令)。所以控件(控制部件)我们可以简单地解析为:“用来发送指令、传递指令、执行指令和反馈指令的那种东东(部件)”。所以我们不要小看按钮之类的东东,没有它程序何从运行。让我们在以后的学习中了解“按钮_被单击"、"按钮_被双击"之类的发令方式,再逐步学好如何运用控件、扩展控件。
㈡、究竟什么是对象呢? 通俗地说,它的意思跟“东西”、“事物”、“现象”之类相近,可以说世界上的一切东西都是对象:人、台灯、地球、凳子等都是对象(事物)。事物在时空、联系、运动和变化发展中存在,事物的相互联系构成运动。在程序中,我们称事物在时空中的存在为对象的“属性”,称事物的相互联系为程序及对象的“事件”,称由联系构成的运动为“方法”,称变化发展(主要是指事物属性的变化发展)为“过程”(程序或子程序)。
㈢、什么是对象的属性呢? 就是对象的性质和特征等对象表现方式,一般是用来描述控件对象的外观特征。书本上说任何事物都有质(性质)和量两方面属性。比如一个人是男是女、是好人还是坏人、入党没有、姓名、民族等是一个人在质方面的属性,身高、年龄、体重、文化程度等是人的量方面的属性,也就是说考察一个人要从质和量两方面来考察,通过了解属性才能认识一个人。同理,编程中所使用的对象也是有属性的,没有属性,对象就无从依托、无从表现、无从理解,没有属性的对象是不存在的。 比如“窗口”这个对象有“高度”、“宽度”、“标题”、“名称”等属性。有一些属性,一般控件都会有,比如“背景色”、“高度”、“宽度”等。有一些属性是某些控件所独有的,比如“表格”控件有“表格线颜色”、“标尺”等特殊属性。 属性可分数值型属性(量)和逻辑型属性(质)。比如“编辑框1.左边=20”是赋编辑框对象予数值型属性,而“编辑框.可视=真”是赋予对象逻辑型属性。 那么,我们怎样知道某个控件有哪些属性呢?有两种方法查找具体对象的属性:①、在易语言的设计界面的左边的工作夹里有个“属性夹”,在这里我们可以查找或设置被选中对象的属性;②、选“帮助→易语言知识库→目录→参考手册首页→系统核心支持库”,我们会发现那里列举了易语言所有的控件对象(窗口单元),点击某个控件对象,会显示该控件对象的所有属性、方法和事件。
㈣、什么是对象的事件呢? 我们以一个例子来说明,比如“bb88骂Etp21 ,(致使)Etp21的脸色很难看,并且握紧了拳头”。在这个例子中,“bb88”和“Etp21”是怎样联系起来的?他们之间是什么关系?是通过骂这个动作联系的,图示:“bb88—(骂)→Etp21”,他们之间的关系是骂与被骂的关系,那么“Etp21的脸色很难看,并且握紧了拳头”这个程序是由程序操控者“bb88”骂的动作引起的(称为“事件驱动”),我们称“被骂”这个受动动作为“Etp21”这个对象的“事件”。 事件可以解析为通过具体的控件使程序运行的一种驱动或受动指令,包括用户通过控件输入而由电脑接收的指令,如“按钮1.被单击”,向按钮发出“单击”的指令,那么“被单击”就是“按钮1”的事件;也包括程序运行的某种驱动或受动条件,比如“(时钟)周期事件”等。程序的受动方式(事件)包括接受的鼠标动作(被单击、被移动等)、键盘动作(按下某键、放开某键等)、时钟信号等。 事件也可以说我们对对象所做的操作。 易语言是一门典型的面向对象编程的语言,它的整个程序都是由事件驱动的。其实我们的生活中就充满了各式各样的事件,比如“闯红灯”这个事件的发生会导致警察追杀你、走路撞到电线杆这个事件会导致头痛等。这些例子虽然滑稽,但可以清楚地解析事件的含义,就象你马上能体会到在什么地方单击鼠标时会发生什么,按下键盘时会发生什么,这些就是事件。程序启动后,并不能自动运行,而要等用户输入指令(比如按下某个按钮)它才运行某段程序。因此,windows程序从本质上来说,可以称之为是“事件驱动”的。 易语言对象的事件包括自有事件和基本事件。自有事件是该种控件的特有事件,基本事件是各种对象共同具有的事件。 那么,我们怎样知道某个控件对象有哪些事件呢?也是有两种方法查找具体对象的能接收的事件:①、选中某个控件对象后,在易语言编辑界面的左边“属性夹”里选“在此选择加入事件处理子程序”子夹,可以设置该控件的事件,并同时快速地在代码编辑区出现该事件的代码;②、选“帮助→易语言知识库→目录→参考手册首页→系统核心支持库”,我们会发现那里列举了易语言所有的控件对象(窗口单元),点击某个控件对象,会显示该控件对象的所有属性、方法和事件。
㈤、什么是对象的方法? 以“Etp21的脸色很难看,并且握紧了拳头”这个程序来说,“握紧了拳头”这个程序运行的动作我们就称为“方法”。方法是一个具体对象能够执行的动作,它是指对象所固有完成某种任务的功能,可由我们在需要的时候调用。有的方法会有参数表,有的方法则不用参数,“参数”大概相当于方法的相关数据,包括相关对象属性值、系统命令、执行条件、项目、常量、子程序、函数乃至其他对象的方法等,都是可以调用的参数。执行、调用一个对象的方法的一般格式如下: 对象名.方法名(参数)。 例如需要在一个名为“购物篮”的列表框里添加一个叫“苹果”的列表项目,其语句如下:购物篮.加入项目(苹果)。在这个例句中,“加入项目”是“购物篮”的方法,“苹果”是其参数。不同的方法有不同的参数,一种方法可以有多种类型的参数。我们可以选“帮助→易语言知识库→目录→参考手册首页→系统核心支持库”,我们会发现那里列举了易语言所有的控件对象(窗口单元),点击某个控件对象,会显示该控件对象的所有属性、方法和事件,点击某个方法可以查看该方法的代码格式、可用的参数及其类型。 可以看出,事件和方法都有相近的意思,它们都是一种动作,只不过事件是促使程序运行的一种外部动作,而方法是程序具体运行的一种动作(即程序怎样运行)。 那么,我们怎样知道某个控件对象有哪些可供执行的方法呢?欲查看某类窗口单元具有哪些方法、这些方法的详细解释以及有哪些可用参数等,请到易语言设计界面的支持库夹中的“数据类型”分枝中寻找。譬如:想了解画板的所有方法,可以到“数据类型 -> 画板”下查看,如果点击“画板”数据类型下面的某个方法,会在代码编辑区里出现该方法的调用代码,我们可以利用这种功能来快速编辑代码。 另一方法是:选“帮助→易语言知识库→目录→参考手册首页→系统核心支持库”,我们会发现那里列举了易语言所有的控件对象(窗口单元),点击某个控件对象,会显示该控件对象的所有属性、方法和事件。
㈥、对象的属性、事件和方法的综合运用。(理解一个事件的过程,即子程序) windows程序其实就是对象的属性、事件和方法的综合运用,比如“bb88骂Etp21 ,(致使)Etp21的脸色很难看,并且握紧了拳头”,转化为程序语言就是: 子程序:骂_被单击 (有一个叫“骂”的按钮) Etp21.脸色=红一块青一块 (这个处理事件的代码可称为赋值型语句) Etp21.握紧拳头() (这个处理事件的代码可称为方法型语句) 请找找这个程序有哪些对象、属性、方法和事件。事件过程一般表现为对象属性的变化、对象动作(方法)的执行以及指示下一事件的发生等。事件过程(子程序)的一般格式如下: 子程序:对象名_事件名() 处理事件的代码 (子程序结束) 怎样理解这个程序格式?从上述格式中可以看到,某个事件过程(子程序)的名称主要由对象名和事件名组成,中间用下划线连接以区分清楚。不能随意改动该程序名,否则当指定事件发生时系统便无法调用相应的事件过程(程序)。又如果某个对象的某个事件发生了,但是没有为该事件编写响应事件的过程代码,这样对象所发生的这个事件就会毫无反应(比如点击“按钮1”不见反应)。
|
|