【软件工程】易语言10分钟入门教程.docx

上传人:夺命阿水 文档编号:1542839 上传时间:2024-07-25 格式:DOCX 页数:7 大小:24.90KB
返回 下载 相关 举报
【软件工程】易语言10分钟入门教程.docx_第1页
第1页 / 共7页
【软件工程】易语言10分钟入门教程.docx_第2页
第2页 / 共7页
【软件工程】易语言10分钟入门教程.docx_第3页
第3页 / 共7页
【软件工程】易语言10分钟入门教程.docx_第4页
第4页 / 共7页
【软件工程】易语言10分钟入门教程.docx_第5页
第5页 / 共7页
点击查看更多>>
资源描述

《【软件工程】易语言10分钟入门教程.docx》由会员分享,可在线阅读,更多相关《【软件工程】易语言10分钟入门教程.docx(7页珍藏版)》请在课桌文档上搜索。

1、“易语言十分钟入门教程H八.现“序库戏言程类游法象法间语个个字语对语时曲易一数本向色网序“第第猜根面特答州州他加机的他即即分123456789第第第第第第第第第第IO分钟:收工喽亲爱的朋友,您愿意花十分钟的时间,来了解一门全新的编程语言“易语言”吗?第1分钟:序曲只有十分钟,时间紧迫,让我们立刻开始,不多说句废话(这句话本身算不算废话?哈哈)。其实用不若那么紧张,以人均每分钟阅读300字计算,10分钟足以读完3000字。况J1.我也不打做写那么长,因为还要给亲爱的读者留足思考时间。本文作为十分钟入门教程,无法面面俱到,只能重点介绍初学者岩重关注、关心或感兴趣的局部.本文的主要目的是:让读者在很

2、短的时间内对“易语言”有一个大概的了解和感性的认识。如果想获取更深入、更详尽、更权威、更条理、更常逻辑性(或者更抽象、更死板?)的资料,谙去拜读易语言官方提供的易讲言-白皮书一一这本书写的很好,文笔比我强多了!本文大量参考该白皮书。(在本文中,我偶尔会把“易语言”说成飞扬易语言”或易语言,总之都是一样东东.)第2分钟:“易语言初相识先通过简单几句话,了解一下飞扬易语言的大概:.完全面向对象,具有类和接口的完整概念(从现在开始忘掉结构化编程吧) 具有自动垃圾回收机制(你只管创立对象,而不必自己解放,轻松多了) 源代码将被编译为本地机器码,程序具有很高的执行效率(当然还是比不上C语言) 同套源代码

3、,可以被编译为多个操作系统(WindOWS/1.inux/.)下的可执行文件,这是其跨平台机制 可将源代码编译为易陪言类库,以到达代码复用。同一个易语言类库可以在多个平台下通用。此外,还可以使用C/C+开发易语言“本地类库”。开发类库非常轻松。.有个“系统类库(类似于原易语言中的“核心支持库)为程序提供最核心支持,是程序运行所必需的,其文件大小只有150K,小巧玲珑。 有一个跨平台的图形用户界面(GUD类库,基于WXwidgS,FI前还不太成熟。 目前各方面的类库都非常缺乏,不过时间会完善一切将会有个包括“可视化界面设计在内的完善的集成开发环境(IDE),其大局部代码将使用飞扬易语言自身编写。

4、(暂时先用文本编辑器写程序吧,呵呵,推荐emEdit,对汉字的语法高亮支持比较好)飞扬易语言有不少特色语法,如“友好名称(类自然语言编程)、三联判断式”、“多返回值”、双向赋值”、属性表等等。我想有必要再强调一遍:“易语言”跟原来的易语言(1.-4.x)是完全不同的两个编程语言(如果非要找出相同点话,它们都是易语言公司的产品,作名都是吴涛)。前行在编程理念上要先进许多,是未来开展的趋势;后者在编程资源上更具优势,是已经逐渐成熟的实用产品。第3分钟:第一个程序公开类启动类公开静态启动O(控制台.输出行(祖国您好!”);请将以上代码存为he1.1.o.ef文件,注意编码格式必须是UniCOdeai

5、ttIeendian)编译命令行:eche1.1.o,ef-ee1.name=程序”-starterc1.s=启动类-outmode=runab1.e-OU1.=he1.1.o,exe以上命令行将编译生成he1.1.o.exe文件,要执行此程序,请确保易语言系统降文件系统.nc1.在当前目录下。he1.1.o.exe的执行结果是在屏幕上输出:祖国您好!还记得吗?吴涛教给我们的第一个易语言(旧版)程序也是“祖国您好。许多人喜欢写的“He1.1.owor1.d,不过是一句淡淡的问候而已,哪象“祖国您好!”这样饱含深情?中国永远不缺少国际主义者,但我们急需的是民族主义者!(亲爱的朋友,如果您只有三分

6、钟的时间,现在可以回去工作或休息了。但是我诚挚地邀请您在百忙之中仍然抽出七分钟时间来继续读完本文!)第4分钟:第一个类库把上面的“第一个程序”的源代码文件拿过来,不做任何改动,就可以把它编译为易语言类库。编译命令行:eche1.1.o,ef-outmo内定数字)第34行控制台.输出行太大了,再来次。);否则控制台.输出行(太小了,再来一次。”);返回假;第39行扩展整数获取数字O(返回控制台.输入整数O;类全自动猜数字基类=猜数字第49行(整数当前数字=0:扩展整数次取数字O当前数字+;第55行返回当前数字;编译方法:将以上代码存为“猜数字.ef文件(注意编码格式必须是UniCode(IiI1

7、.Ieendian),然后执行以卜命令行:CC猜数字.ef-ee1.nam。=程序-starterCIS=启动类-OUtJnOde=runab1.e-OUt=猜数字.cxe第6分钟:根本语法第1行,定义类,类”公开.为关键字(注:“公开”扩展”“私有”“静态”等在白皮书中被称为属性,其实与关键字类似,下面不再明确区分):“”为注释的开始,直至本行结束(另一种多行注糅形式是*/)第3行,定义类成员方法“启动0”第5行,定义类型为“猜数字”的变量猜”,创立类型为“猜数字”的对彖,并将创立后的对象赋值绐变员猜”(即变量”猜”引用了该对彖)第7行,调用猜”(严格的说是“变盘猜所引用的对象)的成员方法“

8、猜0第13行,定义个“私有1的、数据类型为“整数”的类成员变量“内定数字”,并指定初始值为66第17行,“循环”语句,只要小括号内的条件(“猜数字0”返回值为假”)成立,就循环执行花括号中的代码(直至小括号内的条件不成立)第28行,“如果语句,判断两个变量“数”和“内定数字”的值是否相等,相等则执行后面花括号中的代码第34行,“如果-否则语句,判断变量“数”的值是否大于“内定数字”的值,大于则执行第35行,否则执行第37行第39行,返回语句,结束本方法,并返回相应的值(此处为假”)第49行,定义一个类”全自动猜数字,并指定其“基类”是猜数字”第55行,将变量“当前数字的值自增1,即在原有值的基

9、础上加1第7分钟:面向对象现实世界是由万事万物(对象)组成的。在程序中以对象的概念抽象地描述和表达现实世界中的万事万物,这就是面向对象的设计思想.这里简单讲一下面向对象中的“封装”继承和多态”的概念。看一下“猜数字”这个类,其数据成员“内定数字”是“私有的,其方法成员“猜数字0”也是“私有”的,也就是说,它们对外界来说是不可见的,也就是说,它们被严格限制只能在“猜数字”这个类内部使用。既然不能被类外面的代码直接操作,那么这个类就保持了相对的独立性。“获取数字0这个成员方法是扩展的,即它允许外界(子类)仃条件的使用。只有成员方法猜0是“公开的,允许界面任意使用。通过“私有”扩展公开机制,类既对外

10、隐藏r实现细节,同时又对外公开了操作接口。这就是“封装”的概念。再看“全臼动猜数字”这个类,它并没有定义“猜o*这个成员方法,但外界却可以调用它的“猜0,为什么呢?这是因为“全自动猜数字”的基类是“猜数字-,“猜()”正是从其基类“猜数字”中“继承”而来的。面向对象中“继承的概念,类似于现实生活中了女继承父辈的财产。了类只能继承基类中“公开.和“扩展”的成员,而不能继承“私有”成员.“多态”的概念就更第杂一些,更难理解,也更难解择.通俗的说,就是根据对象的类型(而非变械的类型)动态地(程序运行时,而非编译时)决定应该调用的成员方法。多态机制通常依赖于基于维承和覆盖(子类定义与其父类公开或扩展的

11、成员方法声明形式相同的成员方法,子类中的方法将覆盖基类中的方法)。下面根据这几句代码具体讲解下:猜数字猜=创立猜数字();猜数字猜=创立全自动猜数字():猜.猜0;把第二行注解起来仅执行第一行,与把第一行注解起来仅执行第二行,程序有截然不同的运行结果,其中的主要“秘密”就在于多态机制。而在本程序中,多态机制主要表达在“获取数字O”这个成员方法上一一它是个“扩展-方法,可以被覆盖,也已经被困兼(基类“猜数字”中定义了个“获取数字0,子类全自动猜数字”中也定义r一个“获取数字(),后者覆盖前者)。程序之所以会出现两个运行结果,也正是因为有两个“获取数字()”,至于哪个“获取数字()被执行,取决于对

12、象的真实类型(创立时确定,且永不改变):如果对象的类型是“猜数字”(第一行),那么“猜数字.获取数字0被调用:如果对象的类型是“全自动猜数字(第二行),那么“全自动猜数字.获取数字0被调用。您可能还在疑感,这两个类只有一个“猜0”方法啊,定义r基类“猜数字”中的“猜。”方法能够调用到子类“全自动猜数字”中的“获取数字0”方法吗?可以的,因为子类的“获取数字0”减前了基类的“获取数字0。这是多态的精髓,也是最难理解之处。面向对象的思想不是很快就可以领会和掌握的,需要细致的品味和长期的实践。面向对象是一门科学,许多人辈了都在学习。第8分钟:特色语法友好名称一一用类白然语言格式节写程序:如果定义了如

13、下友好名称:友好名称将某写到屏幕=控制台.输出行(某);那么程序可以这么写:将123写到屏幕上:招易语言”写到屏幕上;将写到屏幕上(x二100.123);三联判断式:可以这么写“如果(0X0&x10)*。m0xO&X10,必然有此疑问,可是各编程语言设计大师就是对此视而不见!方法多返回值:定义一个具有多返回值的方法:文本,整数取姓名和年龄O返回中国,5000);调用以上方法,接收多返回值:文本姓名;整数年龄:(姓名,年龄)=取姓名和年龄O;双向赋值运算符“”一交换两个变量的值:整数a=1,b=2:ab;执行后,a-2:b1;如果没有双向赋值运算符,大概要写成“c=a;a=b;b=c;或a=a+

14、b;b=a-b;a=a-b:*或“a=ab;b=ab:a=ab;*,多麻烦啊。第9分钟:答题时间有了易语言,为什么还要新摘“易语言”?易语言()已经渐趋成熟和稳定,进一步改造的空间已经很小了。“易语言跟原易语言比,有哪些本质改良?完全面向对象、自动垃圾回收、可自行开发类库、纯文根源代码、多文件工程、与cc+等语言水乳交融。已经有很多编程语言了,我们还需要一个全新的Ia程语言吗?汇编语言诞生时,C语言诞生时,C-诞生时,Pasca1.诞生时,JaVa诞生时,C#诞生时,都会有相同的疑问,答案都是个:需要”。易语言也一样。“与C/C+语音等水乳交JUT表达在舞里?可以使用C/C+等语言开发易语言本

15、地类库,和易语言自身开发的类库完全等效,可相互引用,融合互补。“易语Ir在算些方面跟Jaya比较相似?语法方面根本照抄:面向对以方面根本照抄:都有自动垃圾网收机制:都有“引用”的概念,都没有“指针”的概念:都可以跨平台:都有臼已的类库;都支持IniCode、多线程、类反射;都有类似“C1.assPath*“JavaDocraJNI等东东为什么跟JaVa这么像?语法方面没得说,两者都抄C语言;其它方面,我觉得“易语言”向目前圾先进的编程理念罪拢是正常的,也是合理的。哪些方面跟Java不同?编译型语言,直接执行机器码,运行效率高(JaVa是由JVM解释执行字节码,配合JIT):最精巧的运行时环境(

16、RUntiIneEnvironment),连同核心类库仅150K;以“类库”而非”包(PaCkago)”为单位引入(import):最源代码文件的路径没有严格要求(JaVa要求源文件必须位于特定子目录中):不限制一个源代码文件只能写一个公开类;类的构造方法固定为“初始化0”,析构方法固定为“清理()(JaVa类的构造方法名称与类名称相同,没有析构函数):类库不仅可以用“易语言”自身开发,还可以使用其它编程语言(如汇编,CC+,De1.phi)开发:暂时不支持异常处理机制:前面提到的特色语法:垃圾收集器(GC)的质量和效率如何?尚未经过实践检验,不好说.根据我个人不严格测试,在100OO个对象相互引用且存在大量的循环引用的情况卜.,垃圾收集器工作正常,平均每次回收动作约耗时20亳秒。GC工作期间好似会中断程序执行。每次回收间隔约6到10秒,应该可调。具体的垃圾收集算法不详。现在有多少类库可用?从易语言公司提供的测试版中的例如代码中,涉及到了三个类库“系统nc1.”“用户界面nc1.”“工具nc1.,但并未同时公开类库接口。故可以认为目前没有可供使用的类库。根据我个人理解,这次发布测试版主要I1.的是测试根本语法和编译器,而不是类库。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 在线阅读 > 生活休闲


备案号:宁ICP备20000045号-1

经营许可证:宁B2-20210002

宁公网安备 64010402000986号