Flash ActionScript3.0类的继承.doc_第1页
Flash ActionScript3.0类的继承.doc_第2页
Flash ActionScript3.0类的继承.doc_第3页
Flash ActionScript3.0类的继承.doc_第4页
Flash ActionScript3.0类的继承.doc_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

面对对象非常重要的特性就是继承,也就是英文inheritance。继承呢是类和类之间的一种关系。当一个类A继承了另一个类B,这就表示A可以使用B的所有属性和方法。但是类的继承并不仅限于类的复制,它还允许继承者有自己的特性,就好像一个孩子,他可以继承母亲的眼睛,父亲的嘴巴特征,但他又不会跟父母完全一样。继承关系是可以拿遗传关系来类比的,在类和类之间架起了一道道的桥梁,它是一种关系纽带。它既可以使代码特征从一个类传递到另一个类,又可以使类和类之间保持它独有的特性。我们来看一下类和类之间继承的一个例子。首先我们要建一个as文档,我们建立一个比较简单的类,称之为B。这个B的结构非常简单,它有一个属性,就是n,n是一个Number类型的数据,本身我们在声明它的同时给它赋了一个初始值100。另外就是B的构造函数,类的构造函数是在类被实例化的同时马上执行的。B的构造函数里面包含一句trace代码,就是追踪输出“我是类B”。这就是类B的一个结构,它有一个属性,同时呢它还可以追踪输出“我是类B“这样一句输出文本。那么我们给它起名字叫B,前边呢我们已经说过了类的名称,构造函数的名称,整个文件的名称要保持一致。下面呢我们再来建一个新的类,我们姑且把这个类命名为A。来看一看A的结构,这就是全部代码,我们先把public var m: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这个属性呢?注意这个输出面板上显示引用错误,这个结果呢也是我们刚才定义类当中所预

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论