为了正常的体验网站,请在浏览器设置里面开启Javascript功能!
首页 > 第一个易飞扬类

第一个易飞扬类

2017-12-02 13页 doc 225KB 11阅读

用户头像

is_977556

暂无简介

举报
第一个易飞扬类第一个易飞扬类 从“易语言”到“易飞扬”的过程,是从“面向过程”到“面向对象”编程完全不同的两个东西上,大家要如何来接受呢,看来得先从什么是“面向对象”开始学习深入。 先来了解一下“类”与“对象”的关系吧。 打个比方,一张大楼的图纸,按照这张图纸工人可以建出很多一模一样的大楼出来。而“类”就相当是这张大楼的图纸,按照这张图纸所建出来的那些大楼便是这张图纸的“实例对象”。图纸上标示了大楼的相关特性,比如高度、楼层数目等信息,也标示了大楼的用途(功能)。在面向对象中,把“相关特性”称为“数据成员”,把“功能”称为“方法”。 ...
第一个易飞扬类
第一个易飞扬类 从“易语言”到“易飞扬”的过程,是从“面向过程”到“面向对象”编程完全不同的两个东西上,大家要如何来接受呢,看来得先从什么是“面向对象”开始学习深入。 先来了解一下“类”与“对象”的关系吧。 打个比方,一张大楼的图纸,按照这张图纸工人可以建出很多一模一样的大楼出来。而“类”就相当是这张大楼的图纸,按照这张图纸所建出来的那些大楼便是这张图纸的“实例对象”。图纸上标示了大楼的相关特性,比如高度、楼层数目等信息,也标示了大楼的用途(功能)。在面向对象中,把“相关特性”称为“数据成员”,把“功能”称为“方法”。 下面就来看一段易飞扬类的代码吧。 公开 类 启动类 { 公开 静态 启动 () { 文本 输出的文本="易语言,你好!"; 控制台.输出行(输出的文本); } } 这段代码中,有一个类——“启动类”,在该类中有一个方法——“启动”方法。 在易飞扬中,程序的运行要依赖一个很重要的类——它的类名为“启动类”。在“启动类”的下面有一个必有的方法——“启动”方法,用法如其名,该方法是易飞扬程序的入口,也就是说,易飞扬的程序要从这个方法下面的代码进行运行。大家可以把这个“启动”方法看成是老易语言中的“_启动子程序”子程序。这样大家就可以很容易的看懂上面的代码了。 注意了,“启动类”必须是“公开”的;而“启动”方法必须是“公开”且“静态”属性。大家先不要管什么是“公开”、“静态”,只要记下来就好了,继续看下面的文字吧。 在“启动”方法中的代码,相信大家也能理解到了,是用控制台输出一行文字,文字的内容是“易语言,你好~”。 口诀一: 面向对象靠分类; 声明类有属性。 内部静态调静态; 外部类名加成员。 非静创建类对象; 对象名加类成员。 公开大家都能用; 私有隐藏保安全。 面向对象靠分类; (面向对象中由类组成基本单位,一个类中有多个方法) 声明类法有属性。 (类有类的属性表,方法有方法的属性表) 内部静态调静态; (在内部(类中)静态成员只能被静态成员所调用;) 外部类名加成员。 1 (而在外部(类外),只能通过“类名.”加成员名的方法进行调用。) 非静创建类对象; (“非静态”成员的使用方法是:用类生成的“对象名”,“.”,类成员) 对象名加类成员。 (同上) 公开大家都能用; (具有公开属性的类或方法,在其他的类或方法中可以直接调用,“公开”就是可被调用,其方法的引用就是类名+方法名即可。) 私有隐藏保安全。 (私有属性只是为了安全考虑,不向其他程序员公开,因此使用时只能在类的内部使用) 难免我们还是要先来说明一下这些类或类成员名称前面的这些名词是做什么用的。 了解“公开”与“私有” 无论类、还是类中方法与属性,都可以设定它对外部是否可见,这个“可见”便是在被外部应用时是否可被调用。“公开”就是可被调用,而“私有”则不能。 了解“静态”与“非静态” “静态”从字面上是很难理解的,在我看来,只是给方法加上了一些限制而已。在内部(类中)静态成员只能被静态成员所调用;而在外部(类外),只能通过“类名.”加成员名的方法进行调用。在外部调用静态方法时,我们可以把它看作老易中的“子程序”,这样我们会更好的理解它。 “非静态”成员的使用方法是: 用类生成的“对象名”,“.”,类成员 其中“类成员”可以是非静态的数据成员和非静态的方法成员。 从“非静态”成员的调用方法上看,我们就不难理解了,在通过类生成一个对象后,该对象所能调用的就是这些非静态的类成员。这样我们就不难想象了,这些非静态成员就是这个对象的模板、说是这个对象的模子会更贴切呢。 “公开”、“私有”、“静态”都是被易飞扬编译器来识别,并为此对应用的类成员进行相应的处理,因此我们说它是易飞扬的“系统定义属性”。 这样说,可能大家还是会很晕。不过通过下面对一个简单类的编写,我想大家就会明白了。因为当时我也是这样学习的。 我们来试想汽车,汽车共同功能是什么呢,“发动”,然后“前进”这是我第一个想到的。 那么我们就来写一个汽车类,这个类中有“发动”方法。 类名为“汽车”,在“汽车”类中有一个方法成员名为“发动”。“发动”方法中,我们应用控制台来输出行文本“汽车 发动”来假定汽车发动功能的实现代码。当然真的汽车是不会被这样运行的。 “汽车”类前定义了它为“公开”的类,这样就可被类库外部进行引用了,如果没有设定它为公开类,那么外部是不可知道更不可能被调用了。同理,类中的“发动”方法也是这个道理,如果没有设定它为公开方法,那么外部是不可知道更不可能被调用的。 2 类写好,如果就那样的放在那儿是没有用的。我们要调用它,来完成我们要达到的目的。那如何调用类中的这个“发动”方法呢。再来仔细看一下我们上面刚刚编写好的类,“发动”方法前面还定义了它是“静态”的,也就是说它是“汽车”类的静态方法成员。 类的静态方法成员的调用方法是:“类名.”,“静态方法成员名”、 我们要在“启动类”的“启动”方法中调用“汽车”类的方法。 我们把这个文件保存成编码为“Unicode”、文件格式为“.ef”的文件。用易飞扬编译器进行编译,然后运行。运行结果如下: 汽车已经发动了,接下来就要它前进了。写法与上面的一样。 调用的方法也是一样。 3 前进的过程中,我们可能要让汽车加速前进或是减速前进。如何做呢,先来看一下实现的代码: 存盘后,试着编译一下,发现编译器提示错误。 编译器提示,静态方法不能访问非静态方法。因为代码中的“前进”方法是静态方法,而在“前进”方法中,调用新编写的“加速”和“减速”方法并未声明是静态的。要注意啊,我新编写的方法“加速”和“减速”方法要是非静态的,而静态只能调用静态的,还记得吗,~所代码应该是这样的: 4 这两个方法是“私有”的,这就意味着这两个方法只能被“汽车”类中的成员进行调用,而外部是看不到的。 如果在“启动类”的“启动”方法中调用了“加速”方法,会有什么样的后果呢。 试着编译一下这段代码。下面便是编译器所给出的错误提示。 因此上面的代码是无论如何需要改正的。 下面回顾一下以前在“启动类”的“启动”方法中代码调用方式: 5 还记得一开始我所说的吗,类的静态方法成员调用方法,是“类名.”+“方法名”。 我们会有一个疑问了,面向对象编程的方法,为什么没有对象的应用呢。别急,我们下面就开始。 静态的类方法是不可以通过对象进行调用的。而与静态相反的是什么呢,就是非静态。非静态类成员可通过对象而不是类来调用。我们现在把上面所写“汽车”类的代码修改一下。把“发动”和“前进”方法的“静态”声明去掉。 我们以下面的方式进行调用。编译下看看会不会成功。 编译被中断,报错。 6 编译器提示,所使用的类型指定方式不能访问非静态/常量成员。 要想编译通过,就要声明一个汽车对象了,通过这个对象来调用这些方法。 如何创建一个类的对象呢,我们仔细看一下上面对象声明的正确代码。我们先要声明一个“我的汽车”对象为“汽车”类的对象。创建对象,就要通过“创建”命令了,然后通过“创建”,“汽车”类名来初始化这个对象,这样一个“我的汽车”对象就这样创建成功了。 对象调用成员的方法是: 用类生成的“对象名”,“.”,类成员 嗯~~~~现在问就出来了,如果我们声明创建了两个或更多的“汽车”对象,那么如何去区分用的是那个对象的方法呢,~ 其实这并不难,还记得一开始我说过类与对象的关系吗,~在类中,类的成员包括有方法成员和数据成员。对于这个问题就好解决了,我们只要给类加一个数据成员就可以了。看下面写好的代码。 7 对于类的数据成员的理解,其实也是很简单的,我们只要把它看成是对象的“属性”就可以了。这个属性,就像是“汽车”的车牌号,汽车颜色一样的简单。 在类的开头,我声明了一个“公开”的文本数据成员“车牌号”,用于保存汽车对象的车牌号。在“汽车”类的方法成员中调用了该数据成员的值,并利用控制台输出,这样就可以在更多车运行的过程中,更容易的区分出是哪辆车在正在运行了。 调用的代码: 在“启动”方法中,我声明创建了两个“汽车”类对象,“我的汽车”、“他的汽车”,并分 8 别给这两个对象的“车牌号”赋了值。如何区分是哪辆车在运作呢,就要通过车的“车牌号”进行区分了。下面编译一下看看效果。 在这里,我想大家会对类与对象之间的关系有一个初步的了解了。其实自己也是初来乍到,由简单的开始学起,也许自己所理解的面向相对象并不是十分的正确,不过在不断的学习过程中,我会不断的完善它。 感谢耐心看完这篇稿子的易同胞们。 9
/
本文档为【第一个易飞扬类】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索