【软件工程】易语言10分钟入门教程
易语言编程入门教程易语言应用ESP编程入门_图文

易语言编程入门教程易语言应用ESP编程入门_图文导读:就爱阅读网友为您分享以下“易语言应用ESP编程入门_图文”的资讯,希望对您有所帮助,感谢您对的支持!易语言应用ESP实例入门教程前言:为什么要写这个东东当前,计算机编程技术发展日新月异,随着互联网的普及和传输速率的大幅提高,网页程序由于其无需下载安装,升级、维护方便等优势,正在逐步取代传统的桌面应用程序。
而主流的编程工具都已增加了开发网页程序的功能。
那么作为使用易语言的广大编程人员想开发网页程序该怎么办呢?大家别恢心,好在我们易语言界里面藏龙卧虎,有好多高手为易语言开发出了具备各种新功能的支持库,这里面就有“云外归鸟”开发的ESP,它是立足现有易语言编程环境下,开发动态网页程序的最佳选择。
东西是好东西,可是ESP推出2年多了,用的人却很少,坛子里的例程也少的可怜,并且目前还有很多人不知道ESP 这个东西是什么。
究其原因,我想缺乏必要的初级教程和例程,是限制其发展的一个主要问题。
“云外归鸟”在推出这个系统时指出其应用群体是具备一定的网页开发基础以及ASP开发能力的人,也就是坛子里所说的相对“老鸟”,但反过来想一想,会以上两种技能的人还有必要再学ESP来开发网页吗?回答是否定的,即使有,也是出于一种娱乐的心理搞点东西玩一玩。
真正需要用ESP开发的人我想应具备以下一些特点:只用易语言开发软件、其它语言或会一点或不会、没有开发过网页、不想花太多时间再去学习另外一门语言。
具备以上特点的人在易界应该是主体(也就是所说的菜鸟)。
所以很多人想学习,但看了ESP自带的那个成品例程又看不明白,最后还是放弃了。
因此,我个人认为还是有必要推出一个针对“菜鸟”的ESP 入门教程,也就是说,本教程力争把读者群体定位在:一个不会ASP而只会易语言的人,当然,这只是作者自己一厢情愿的想法,到底效果如何,还要等待后面的反应了。
一、什么是ESPESP(易语言Server Pages)即易语言活动服务页,它是易语言编程界高手“云外归鸟”为解决易语言不能编写B/S网页系统软件而推出的。
(完整word版)易语言-从入门到精通(零基础)

汉语编程工具易语言目录目录..................................................... - 2 -第一部分易语言入门.......................................... - 3 -第一课走进“易"世界..................................... - 3 -一、打开“易语言”设计窗口 ............................ - 3 -二、认识“易语言” .................................... - 3 -三、第一个易程序 ...................................... - 4 -四、小结 .............................................. - 5 -第二课简单的人机交互.................................... - 6 -一、第一个交互程序 .................................... - 6 -二、小结 .............................................. - 7 -第三课按钮与标签的综合运用.............................. - 8 -第四课图文并茂......................................... - 10 -第五课看看计算机的计算能力............................. - 12 -第六课让世界丰富多彩................................... - 14 -第七课顺序程序结构..................................... - 16 -第八课猜数(选择程序结构)............................. - 18 -第九课多分支控制结构语句............................... - 21 -第十课练习............................................. - 23 -一、选择题: ......................................... - 23 -二、编程题: ......................................... - 23 -第十一课循环程序结构................................... - 24 -第十二课循环程序结构练习............................... - 28 -一、选择题 ........................................... - 28 -二、编程题 ........................................... - 29 -第十三课菜单的设计..................................... - 30 -一、菜单的基本概念 ................................... - 30 -二、菜单编辑器的打开 ................................. - 30 -三、设计下拉式菜单 ................................... - 30 -第十四课对话框......................................... - 34 -一、提示类对话框 ..................................... - 34 -二、自定义对话框 ..................................... - 34 -三、通用对话框 ....................................... - 35 -附录实例应用荟萃....................................... - 37 -第一部分易语言入门第一课走进“易”世界易语言介绍易语言是一款全中文全可视跨平台的编程工具,由大连大有吴涛易语言软件开发有限公司设计开发的,它的特点是全中文化,入门要求低,几乎只要懂得使用计算机和文字输入的人都可以进行程序设计,而且它的开发语言也是全中文的、生活化,这在今后的学习中我们会深刻体会到它的“易"。
易语言中文编程-从入门到精通【图文】(精编文档).doc

【最新整理,下载后即可编辑】易语言编程基本操作目录目录 (2)第一部分易语言入门 (3)第一课走进“易”世界 (3)一、打开“易语言”设计窗口 (3)二、认识“易语言” (3)三、第一个易程序 (5)四、小结 (6)第二课简单的人机交互 (7)一、第一个交互程序 (7)二、小结 (9)第三课按钮与标签的综合运用 (10)第四课图文并茂 (12)第五课看看计算机的计算能力 (14)第六课让世界丰富多彩 (16)第七课顺序程序结构 (18)第八课猜数(选择程序结构) (21)第九课多分支控制结构语句 (25)第十课练习 (27)一、选择题: (27)二、编程题: (27)第十一课循环程序结构 (29)第十二课循环程序结构练习 (33)一、选择题 (33)二、编程题 (34)第十三课菜单的设计 (36)一、菜单的基本概念 (36)二、菜单编辑器的打开 (36)三、设计下拉式菜单 (37)第十四课对话框 (41)一、提示类对话框 (41)二、自定义对话框 (42)三、通用对话框 (43)附录实例应用荟萃 (45)第一部分易语言入门第一课走进“易”世界易语言介绍易语言是一款全中文全可视跨平台的编程工具,由大连大有吴涛易语言软件开发有限公司设计开发的,它的特点是全中文化,入门要求低,几乎只要懂得使用计算机和文字输入的人都可以进行程序设计,而且它的开发语言也是全中文的、生活化,这在今后的学习中我们会深刻体会到它的“易”。
让我们一起进入“易”的世界吧!一、打开“易语言”设计窗口易语言本身也是一个程序,所以易语言的打开方式和我们以往学习的软件打开方式一样,在正常安装易语言的前提下,我们可以通过以下二种方法打开易语言的设计窗口:1.在桌面上直接双击易语言图标打开;2.可以通过“开始菜单”→程序→易语言4.09测试版→二、认识“易语言”易语言程序运行后,可以看到如下图所示的新建对话框,可以根据需要选择相应的功能模块进行操作。
《十天学会易语言图解教程》第八章子程序D

1648.1 新建子程序1658.2 调用子程序个程序集中,1661678.3 与事件子程序的区别168①光标选中按“Enter 生成一数。
这是按钮1程序没有参②添加参数名称并设置类型。
最后1691701711728.5 参数的可空属性1738.6 参数的参考属性注意:由于文本型数据默认被参考,看不到参考的效果,所以把文本型数据转换到整数型。
174④将“信息框子程序”两个参数的类型改为整数型。
⑦在代码前设置断点。
注意:为了更好的了解程序的运行过程,可以通过在关键代码前设置断点的方法知道代码行被执行的情况。
设置断点的方法:用光标选中将被设置断点的代码行,按“F9”键。
175再按“F5”键,“信息框子程序”里的代码被执行。
说明子程序已经被调用。
“参数2”的值被改变。
“参数1”的值是“变量1”的值。
两个条件都成立。
再按“F5”键,断点变为红色,弹出条件成立的信息框。
⑨单击“确定”按钮。
程序又跳到了“信息框子程序”被调用处的下一行代码处,说明“信息框子程序”执行完毕。
由于运行开始时“编辑框1”内的数据为空文本,转换到整数后为“0”。
再按“F5”键,弹出按钮1被单击事件子程序中的信息框。
即使“参数2”的数据被改变,“变量2”仍保存原值。
“参数2”没有设置参考。
1768.7 子程序的返回值⑩ 单击“确定”按钮,代码运行结束。
关闭程序,设置“参数2”的参考,按“F5”键运行。
最后信息框显示“变量2”的值和“参数2”的值相同。
177④“返回值”变量保存“信息框子程序”返回的整数型数值。
①将“信息框子程序”的返回值类型设置为整数型。
③在按钮1被单击事件子程序中添加名称为“返回值”的整数型变量。
8.8课后练习②添加如图上的代码。
这两个地方添加什么值,才可以使程序运行,并且能够正确显示。
①新建易程序,编辑框组件与一个按钮组件,双击按钮组件,入程序代码界面。
②新建一个子程序,名称为:“和是几”。
入两个数。
参数类型为180②新建一个子程序,名称为:“谁最大”。
《十天学会易语言图解教程》第八章子程序D

1648.1 新建子程序1658.2 调用子程序1661678.3 与事件子程序的区别168①光标选中按“Enter 生成一数。
这是按钮1程序没有参②添加参数名称并设置类型。
最后1691701711728.5 参数的可空属性8.6 参数的参考属性注意:由于文本型数据默认被参考,看不到参考的效果,所以把文本型数据转换到整数型。
④将“信息框子程序”两个参数的类型改为整数型。
⑦在代码前设置断点。
注意:为了更好的了解程序的运行过程,可以通过在关键代码前设置断点的方法知道代码行被执行的情况。
设置断点的方法:用光标选中将被设置断点的代码行,按“F9”键。
再按“F5”键,“信息框子程序”里的代码被执行。
说明子程序已经被调用。
“参数2”的值被改变。
“参数1”的值是“变量1”的值。
两个条件都成立。
再按“F5”键,断点变为红色,弹出条件成立的信息框。
⑨单击“确定”按钮。
程序又跳到了“信息框子程序”被调用处的下一行代码处,说明“信息框子程序”执行完毕。
由于运行开始时“编辑框1”内的数据为空文本,转换到整数后为“0”。
再按“F5”键,弹出按钮1被单击事件子程序中的信息框。
即使“参数2”的数据被改变,“变量2”仍保存原值。
“参数2”没有设置参考。
8.7 子程序的返回值⑩ 单击“确定”按钮,代码运行结束。
关闭程序,设置“参数2”的参考,按“F5”键运行。
最后信息框显示“变量2”的值和“参数2”的值相同。
④“返回值”变量保存“信息框子程序”返回的整数型数值。
①将“信息框子程序”的返回值类型设置为整数型。
③在按钮1被单击事件子程序中添加名称为“返回值”的整数型变量。
8.8课后练习②添加如图上的代码。
这两个地方添加什么值,才可以使程序运行,并且能够正确显示。
①新建易程序,编辑框组件与一个按钮组件,双击按钮组件,入程序代码界面。
②新建一个子程序,名称为:“和是几”。
入两个数。
参数类型为②新建一个子程序,名称为:“谁最大”。
加入两个数。
新手必学的易语言教程

冯·诺依曼设计思想最重要之处在于明确地提出了“程序存储”的 概 念 , 他的全部设计思想实际上是对“程序存储和程序控制”概念的具体化。 迄今为止,计算机的工作原理仍然采用存储程序和程序控制原理,计算机 一系列的工作是根据指令功能控制程序的执行来完成的。 2.计算机中数据的表示方法 由组成计算机硬件电路的特性决定,计算机中的数据由 0,1 两个二进制数 表示。现代计算机不仅处理数值领域的问题, 而且处理大量非数值领域的问题。 这样一来,必然要引入文字、字母以及某些专用符号,以便表示文字语言、逻 辑语言等信息。 那么,一个数字或者一个字符在计算机中具体是如何表示的呢? 目前国际上普遍采用的字符系统是 ASCII 码(美国国家信息交换标准字符 码)。ASCII 码规定 8 个二进制位的最高一位为 0,余下的 7 位可以给出 128 个编 码,表示 128 个不同的字符。 其中 95 个编码,对应着计算机终端能输入并且可以 显示的 95 个字符,打印机设备也能打印这 95 个字符,如大小写各 26 个英文字 母,0—9 这 10 个数字符,通用的运算符和标点符号+,-,*,/,>,=,< 等等。另 外的 33 个字符,其编码值为 0—31 和 127,则不对应任何一个可以显示或打印的 实际字符,它们被用作控制码,控制计算机某些外围设备的工作特性和某些计算 机软件的运行情况。 3.指令、程序和软件
指令是计算机要执行的一种基本操作命令,是对计算机进行程序控制的最 小单位。 程序是一组指令序列,并取以文件名,称为程序文件。计算机的工作原理 是先将需要执行的程序从外存中读入内存,由 CPU 负责逐条读取指令,然后再 执行,直到遇到结束指令。 软件是指计算机程序及其有关的文档,它可以分为系统软件和应用软件两 大类。 系统软件是负责管理、控制、维护、开发计算机的软硬件资源,提供用户 一个便利的操作界面和提供编制应用软件的资源环境。其中最主要的是操作系 统,其他还有语言处理程序、系统实用程序、各种工具软件等。 操作系统(OS)是对所有软硬件资源进行管理、高度及分配的核心软件, 用户操作计算机实际上是通过使用操作系统来进行的,它是所有软件的基础和 核心。 应用软件是为解决实际问题而专门编制的程序,如字处理软件(WORD) 、 辅助设计软件 (AutoCAD) 、 绘图计算软件 (几何画板) 、 计算机维护软件 (Norton)、 杀毒软件(KV3000)等。 应用软件与系统软件的关系如下图 1-2 所示:
09十天学会易语言图解教程

9
.1
易模块的安装
181
“已经导入到系统中的易模
块”列表。
点击“导入新模块”按钮添加新易模块。
183
184
9.2 “易模块”的使用方法
185
注意:用“易语言
186
②既然有返回值,我们就可以把这个返回值保存到一个与返回值类型相同的变量中。
③添加信息框,显示返回值数据。
9.3 开始写第一个易模块
187
①选择易语言主菜单的“新建”命令。
②在弹出的对话框中,选择新建程序的类型“Windows 易语言模块”。
③单击“确定”按
钮。
188
189
190
完毕。
下面开始编译并保存。
⑤保存编译后的“易模块”。
如同这9.4 课后练习
注意:1.除了删除模块程序集中用不到的子程序
选择主菜单
“程序”→“编
译”命令编译为易
模块。
模块已准备好了,请
程序,新建一个易程序,选择菜单“程序”“易模块管理”命令,在弹出的易模块管理对话框中
易模块,创建模块接口
中。
下面大家可以简单地测试一下易模块,在“_启动窗口”中加入一个按钮组件,
个按钮,进入代码设界面。
易语言教程

易语言教程1. 简介易语言是一种面向对象的编程语言,广泛用于Windows操作系统的软件开发。
相比于其他编程语言,易语言具有简单易用的特点,适合初学者入门。
本教程将为你介绍易语言的基本语法和常用功能,帮助你快速入门易语言编程。
2. 安装和环境配置在开始学习易语言之前,首先需要安装易语言开发环境。
你可以从易语言官方网站下载最新版本的易语言IDE(集成开发环境),然后按照安装向导进行安装。
安装完成后,打开易语言IDE,你就可以开始编写和运行易语言程序了。
3. 基本语法3.1 变量和常量在易语言中,变量和常量用于存储数据。
变量可以改变其值,而常量的值不可改变。
声明变量的语法格式为:变量类型变量名;其中,变量类型可以是整型(INT)、浮点型(FLOAT)、字符串类型(STRING)等。
声明常量的语法格式为:常量类型常量名 = 值;常量类型可以是整型常量(INT)、浮点型常量(FLOAT)、字符串常量(STRING)等。
3.2 控制结构易语言提供了一些控制结构,用于实现程序的条件执行和循环执行。
•条件判断:如果条件 then执行语句块1;否则执行语句块2;结束;•循环执行:循环循环条件判断语句;执行语句块;结束循环;3.3 函数和过程函数是一种可以接受输入参数并返回结果的子程序。
过程是一种不返回结果的子程序。
定义函数的语法格式为:函数返回值类型函数名(参数列表)函数体;返回返回值;定义过程的语法格式为:过程过程名(参数列表)过程体;4. 常用功能4.1 用户界面易语言提供了丰富的用户界面功能,你可以通过控件(如按钮、文本框、标签等)来构建交互式界面。
```c 按钮(。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
“易语言”十分钟入门教程•第 1 分钟:序曲•第 2 分钟:“易语言”初相识•第 3 分钟:第一个程序•第 4 分钟:第一个类库•第 5 分钟:猜数字游戏•第 6 分钟:基本语法•第 7 分钟:面向对象•第 8 分钟:特色语法•第 9 分钟:答题时间•第 10 分钟:收工喽亲爱的朋友,您愿意花十分钟的时间,来了解一门全新的编程语言“易语言”吗?第 1 分钟:序曲只有十分钟,时间紧迫,让我们立刻开始,不多说一句废话(这一句话本身算不算废话?哈哈)。
其实用不着那么紧张,以人均每分钟阅读300字计算,10分钟足以读完3000字。
况且我也不打算写那么长,因为还要给亲爱的读者留足思考时间。
本文作为十分钟入门教程,无法面面俱到,只能重点介绍初学者着重关注、关心或感兴趣的部分。
本文的主要目的是:让读者在很短的时间内对“易语言”有一个大概的了解和感性的认识。
如果想获取更深入、更详尽、更权威、更条理、更富逻辑性(或者更抽象、更死板?)的资料,请去拜读易语言官方提供的《“易语言”白皮书》——这本书写的很好,文笔比我强多了!本文大量参考该白皮书。
(在本文中,我偶尔会把“易语言”说成“飞扬易语言”或“易语言”,总之都是一样东东。
)第 2 分钟:“易语言”初相识先通过简单几句话,了解一下飞扬易语言的大概:•完全面向对象,具有类和接口的完整概念(从现在开始忘掉结构化编程吧)•具有自动垃圾回收机制(你只管创建对象,而不必自己释放,轻松多了)•源代码将被编译为本地机器码,程序具有很高的执行效率(当然还是比不上C语言)•同一套源代码,可以被编译为多个操作系统(Windows/Linux/...)下的可执行文件,这是其跨平台机制•可将源代码编译为易语言类库,以达到代码复用。
同一个易语言类库可以在多个平台下通用。
此外,还可以使用C/C++开发易语言“本地类库”。
开发类库非常轻松。
•有一个“系统”类库(类似于原易语言中的“核心支持库”)为程序提供最核心支持,是程序运行所必需的,其文件大小只有150K,小巧玲珑。
•有一个跨平台的图形用户界面(GUI)类库,基于wxWidgets,目前还不太成熟。
•目前各方面的类库都非常缺乏,不过时间会完善一切•将会有一个包括“可视化界面设计”在内的完善的集成开发环境(IDE),其大部分代码将使用飞扬易语言自身编写。
(暂时先用文本编辑器写程序吧,呵呵,推荐emEdit,对汉字的语法高亮支持比较好)•飞扬易语言有不少特色语法,如“友好名称(类自然语言编程)”、“三联判断式”、“多返回值”、“双向赋值”、“属性表”等等。
我想有必要再强调一遍:“易语言”跟原来的易语言(1.x - 4.x)是完全不同的两个编程语言(如果非要找出相同点话,它们都是易语言公司的产品,作者都是吴涛)。
前者在编程理念上要先进许多,是未来发展的趋势;后者在编程资源上更具优势,是已经逐渐成熟的实用产品。
第 3 分钟:第一个程序公开类启动类{公开静态启动(){控制台.输出行("祖国您好!");}}请将以上代码存为 hello.ef 文件,注意编码格式必须是Unicode(little endian)。
编译命令行:ec hello.ef -ecl_name="程序" -starter_cls="启动类" -out_mode=runable -out=hello.exe以上命令行将编译生成 hello.exe 文件,要执行此程序,请确保易语言系统库文件“系统.ncl”在当前目录下。
hello.exe 的执行结果是在屏幕上输出:祖国您好!还记得吗?吴涛教给我们的第一个易语言(旧版)程序也是“祖国您好!”。
许多人喜欢写的“Hello world”,不过是一句淡淡的问候而已,哪象“祖国您好!”这样饱含深情?中国永远不缺少国际主义者,但我们急需的是民族主义者!(亲爱的朋友,如果您只有三分钟的时间,现在可以回去工作或休息了。
但是我诚挚地邀请您在百忙之中仍然抽出七分钟时间来继续读完本文!)第 4 分钟:第一个类库把上面的“第一个程序”的源代码文件拿过来,不做任何改动,就可以把它编译为易语言类库。
编译命令行:ec hello.ef -out_mode=ecl -ecl_name="liigo"其中,“-out_mode=ecl”表示编译类库(而不可执行文件),“-ecl_name="liigo"”指定的编译后的类库名称(请您务必把其中的“liigo”替换成您自己的名字,因为这是您编译的第一个易语言类库啊,很有纪念意义呀)。
执行上面的命令行,将编译出类库文件“liigo.ecl”(如果您已经把“liigo”替换为您的名字“张三”,那么生成的文件就是“张三.ecl”)。
“.ecl”是易语言类库的固定后缀名,其含义是“Eyuyan Class Library”(易语言类库)。
现在知道了吧,写类库跟写程序一样简单啊。
要使用编译后的类库,需注意两点:1、“引入”该类库;2、确保此类库位于系统环境变量“ECLS_PATHS”所指定的目录中(或位于当前目录中)。
第 5 分钟:猜数字游戏“猜数字”这个小游戏实在是非常非常非常经典。
通过这个小小的游戏源代码,我们不仅可以学到飞扬易语言的基本语法(定义类、定义类方法、定义变量、如果、循环、方法调用……),还可以充分领略到面向对象的编程思想。
接下来的三分钟里,我们的主题就是它了!第 5 分钟,请您把它编译成可执行文件(编译方式见下文),自己玩游戏吧;第 6 分钟,我将分别解释其中涉及的飞扬易语言基本语法;第 7 分钟,我将讲解其中的面向对象思想。
公开类启动类//第 1 行{公开静态启动() //第 3 行{ 猜数字猜= 创建猜数字(); //第 5 行//猜数字猜= 创建全自动猜数字();猜.猜(); //第7 行}}类猜数字{私有整数内定数字= 66; //TODO: 随机选择一个数//第13 行公开猜(){循环(猜数字() == 假) //第17 行{}}私有逻辑猜数字(){ 控制台.输出行("请猜1-100中的一个数:");整数数= 获取数字();控制台.输出(数);如果(数== 内定数字) //第28 行{控制台.输出行("猜对了,恭喜!!");返回真;}如果(数> 内定数字) //第34 行控制台.输出行("太大了,再来一次。
");否则控制台.输出行("太小了,再来一次。
");返回假; //第39 行}扩展整数获取数字(){返回控制台.输入整数();}}类全自动猜数字<基类= 猜数字>//第49 行{整数当前数字= 0;扩展整数获取数字(){ 当前数字++; //第55 行返回当前数字;}}编译方法:将以上代码存为“猜数字.ef”文件(注意编码格式必须是Unicode(little endian)),然后执行以下命令行:ec 猜数字.ef -ecl_name="程序" -starter_cls="启动类" -out_mode=runable -out=猜数字.exe第 6 分钟:基本语法第 1 行,定义类,“类”“公开”为关键字(注:“公开”“扩展”“私有”“静态”等在白皮书中被称为属性,其实与关键字类似,下面不再明确区分);“//”为注释的开始,直至本行结束(另一种多行注释形式是“/* ... */”)第 3 行,定义类成员方法“启动()”第 5 行,定义类型为“猜数字”的变量“猜”,创建类型为“猜数字”的对象,并将创建后的对象赋值给变量“猜”(即变量“猜”引用了该对象)第 7 行,调用“猜”(严格的说是“变量‘猜’所引用的对象”)的成员方法“猜()”第 13 行,定义一个“私有”的、数据类型为“整数”的类成员变量“内定数字”,并指定初始值为66第 17 行,“循环”语句,只要小括号内的条件(“猜数字()”返回值为“假”)成立,就循环执行花括号中的代码(直至小括号内的条件不成立)第 28 行,“如果”语句,判断两个变量“数”和“内定数字”的值是否相等,相等则执行后面花括号中的代码第 34 行,“如果 - 否则”语句,判断变量“数”的值是否大于“内定数字”的值,大于则执行第35行,否则执行第37行第 39 行,“返回”语句,结束本方法,并返回相应的值(此处为“假”)第 49 行,定义一个类“全自动猜数字”,并指定其“基类”是“猜数字”第 55 行,将变量“当前数字”的值自增1,即在原有值的基础上加1第 7 分钟:面向对象现实世界是由万事万物(对象)组成的。
在程序中以对象的概念抽象地描述和表达现实世界中的万事万物,这就是面向对象的设计思想。
这里简单讲一下面向对象中的“封装”“继承”和“多态”的概念。
看一下“猜数字”这个类,其数据成员“内定数字”是“私有”的,其方法成员“猜数字()”也是“私有”的,也就是说,它们对外界来说是不可见的,也就是说,它们被严格限制只能在“猜数字”这个类内部使用。
既然不能被类外面的代码直接操作,那么这个类就保持了相对的独立性。
“获取数字()”这个成员方法是“扩展”的,即它允许外界(子类)有条件的使用。
只有成员方法“猜()”是“公开”的,允许界面任意使用。
通过“私有”“扩展”“公开”机制,类既对外隐藏了实现细节,同时又对外公开了操作接口。
这就是“封装”的概念。
再看“全自动猜数字”这个类,它并没有定义“猜()”这个成员方法,但外界却可以调用它的“猜()”,为什么呢?这是因为“全自动猜数字”的基类是“猜数字”,“猜()”正是从其基类“猜数字”中“继承”而来的。
面向对象中“继承”的概念,类似于现实生活中子女继承父辈的财产。
子类只能继承基类中“公开”和“扩展”的成员,而不能继承“私有”成员。
“多态”的概念就更复杂一些,更难理解,也更难解释。
通俗的说,就是根据对象的类型(而非变量的类型)动态地(程序运行时,而非编译时)决定应该调用的成员方法。
多态机制通常依赖于基于继承和覆盖(子类定义“与其父类‘公开或扩展的成员方法’声明形式相同的”成员方法,子类中的方法将覆盖基类中的方法)。
下面根据这几句代码具体讲解一下:猜数字猜= 创建猜数字();//猜数字猜= 创建全自动猜数字();猜.猜();把第二行注释起来仅执行第一行,与把第一行注释起来仅执行第二行,程序有截然不同的运行结果,其中的主要“秘密”就在于多态机制。
而在本程序中,多态机制主要体现在“获取数字()”这个成员方法上——它是一个“扩展”方法,可以被覆盖,也已经被覆盖(基类“猜数字”中定义了一个“获取数字()”,子类“全自动猜数字”中也定义了一个“获取数字()”,后者覆盖前者)。