flash actionscript3.0类的覆盖与访问

flash actionscript3.0类的覆盖与访问

ID:16134974

大小:948.00 KB

页数:7页

时间:2018-08-08

flash actionscript3.0类的覆盖与访问_第1页
flash actionscript3.0类的覆盖与访问_第2页
flash actionscript3.0类的覆盖与访问_第3页
flash actionscript3.0类的覆盖与访问_第4页
flash actionscript3.0类的覆盖与访问_第5页
资源描述:

《flash actionscript3.0类的覆盖与访问》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、类的覆盖与访问(override和super关键字)在类A继承类B的过程当中呢,有的时候还会遇到一种情况。就是A确实需要B的方法,但是呢它又不完全是,它需要对这个方法进行一定的修饰。比如,有一个类当中有一个方法叫sayHi,是使用英语问好说“hello”,当我们继承这个类的时候我还是想sayHi,但是呢我想使用法语来问好。就是说用同样的方法,但相应的内容却要发生变化。这个时候呢就要使用关键字override,也就是覆盖。接下来我们看一下简单的例子,也就是刚才我们描述的。首先我们要定义一下类A和类B。那么类B是原型的类,注意这里

2、面其实是没有构造函数的,也就是这个类在实例化的时候是不会执行构造函数里边的内容,因为它根本没有。同时呢,定义了一个public公共访问的函数叫sayHi。我们可以试着来实例化B,这个时候我们输出不会有任何的结果,因为它的构造函数是空的。我们也可以直接来运行一下B里面的公共函数sayHi。大家可以看到在输出面板里面会输出“hello”,这个就是我们实例化B后的一个结果。相应的我们还要去定义类A,A还是要去继承类B。类A里面有要执行的代码,也就是A里面还是有sayHi这样一个函数方法,那么它里面的实际执行代码已经发生了变化。我们保

3、存一下类A。我们来生成一个A的实例,A在执行sayHi的情况会怎样呢?大家注意,上面这个“hello”还是b实例去执行sayHi的结果,下面这个“Bonjour”本身也是sayHi的一个执行结果。这就是A和B都执行同样的方法,输出结果却不一样。我们也可以看到在继承和覆盖当中求得了一定的平衡。需要注意的是,并不是所有的任何一项都可以被override来覆盖,有一项属性和方法是没办法覆盖掉的。第一是变量,变量是没办法被覆盖的,还有常量。另外就是我们前边所说的静态方法,还有就是没有被继承的方法。另外还有一些就是实时接口的方法,还有超

4、类当中被标记为final的方法。实际上它还是有一定的限制。另外就是在子类继承父类的同时实际上也是可以访问父类的方法。比如说我们用super关键字,super呢实际上是去访问它的父类。我们来执行一下super当中的sayHi。这样一来呢,实际上A会输出2个结果,第一呢是它自己定义的法语的sayHi,第二呢它会输出父类的sayHi方法。这就是在覆盖当中我们仍然可以引用父类的一些方法。

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。