Flash ActionScript30类的继承.docx
- 文档编号:9624608
- 上传时间:2023-02-05
- 格式:DOCX
- 页数:10
- 大小:1.25MB
Flash ActionScript30类的继承.docx
《Flash ActionScript30类的继承.docx》由会员分享,可在线阅读,更多相关《Flash ActionScript30类的继承.docx(10页珍藏版)》请在冰豆网上搜索。
FlashActionScript30类的继承
面对对象非常重要的特性就是继承,也就是英文inheritance。
继承呢是类和类之间的一种关系。
当一个类A继承了另一个类B,这就表示A可以使用B的所有属性和方法。
但是类的继承并不仅限于类的复制,它还允许继承者有自己的特性,就好像一个孩子,他可以继承母亲的眼睛,父亲的嘴巴特征,但他又不会跟父母完全一样。
继承关系是可以拿遗传关系来类比的,在类和类之间架起了一道道的桥梁,它是一种关系纽带。
它既可以使代码特征从一个类传递到另一个类,又可以使类和类之间保持它独有的特性。
我们来看一下类和类之间继承的一个例子。
首先我们要建一个as文档,我们建立一个比较简单的类,称之为B。
这个B的结构非常简单,它有一个属性,就是n,n是一个Number类型的数据,本身我们在声明它的同时给它赋了一个初始值100。
另外就是B的构造函数,类的构造函数是在类被实例化的同时马上执行的。
B的构造函数里面包含一句trace代码,就是追踪输出“我是类B”。
这就是类B的一个结构,它有一个属性,同时呢它还可以追踪输出“我是类B“这样一句输出文本。
那么我们给它起名字叫B,前边呢我们已经说过了类的名称,构造函数的名称,整个文件的名称要保持一致。
下面呢我们再来建一个新的类,我们姑且把这个类命名为A。
来看一看A的结构,这就是全部代码,我们先把publicvarm:
Number=200;这一句注销掉。
我们首先声明了一个类A,然后extends关键字,它直接标明我们是要继承或者扩展类B的。
这个as文件呢本身是描述了类A要继承类B,我们刚才也说了在继承的同时,它所有的属性或者方法都可以被使用。
我们来保存一下A。
那么我们现在已经有了类A还有类B,其中的这个关系呢是A继承了B,B里面有实际的代码。
我们来看一下,如果我们实例化B,大家可以看到在输出面板里面会输出“我是类B”,这是我们刚才在追踪函数里面所写的。
同样,如果我们实例化A,大家可以看到它实际上还是输出“我是类B”,为什么呢?
因为类B的构造函数里边这个trace是被A继承走的,相应的呢它也要输出相同的结果。
现在我们来看看在A和B中都定义的属性,为了方便我们还是给它一个实例的引用。
我们先来看B,我们把B的实例命名为小写的b,输出结果还是一样的。
我们也可以看一看这个新实例里面包含的属性n,大家可以看到输出的n是100,就是我们刚刚所约定的。
如果我们把B换成A,有没有什么变化呢?
没有,因为我们在A的继承逻辑当中呢没有对B做任何的改动。
下面我们来修改一下类A当中的一些属性。
就是我们继承了B,同时我们添加了这个属性m,m的初始值是200,这个是在类A定义中所赋予的。
A是继承了B,可是B呢本身不会继承A,m这个属性是A所特有的。
下面我们来看看这个实际执行的结构,如果我们需要输出A的m属性,把n换成m。
大家可以看到m是200。
我们还是来看一下B,B有没有m这个属性呢?
注意这个输出面板上显示引用错误,这个结果呢也是我们刚才定义类当中所预见到的,因为B里面没有m属性。
A在继承B的同时还声明了一个自己独特的属性,也就是m。
这就是在继承当中既有继承又有自己的独立特性。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Flash ActionScript30类的继承 ActionScript30 继承