Flash ActionScript3.0类的覆盖与访问.doc

上传人:11****ws 文档编号:3179551 上传时间:2019-05-24 格式:DOC 页数:7 大小:948KB
下载 相关 举报
Flash ActionScript3.0类的覆盖与访问.doc_第1页
第1页 / 共7页
Flash ActionScript3.0类的覆盖与访问.doc_第2页
第2页 / 共7页
Flash ActionScript3.0类的覆盖与访问.doc_第3页
第3页 / 共7页
Flash ActionScript3.0类的覆盖与访问.doc_第4页
第4页 / 共7页
Flash ActionScript3.0类的覆盖与访问.doc_第5页
第5页 / 共7页
点击查看更多>>
资源描述

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 这样一个函数方法,那么它里面的实际执行代码已经发生了变化。我们保存一下类 A。我们来生成一个 A 的实例,A 在执行 sa

3、yHi 的情况会怎样呢?大家注意,上面这个“hello”还是 b 实例去执行 sayHi 的结果,下面这个“Bonjour”本身也是sayHi 的一个执行结果。这就是 A 和 B 都执行同样的方法,输出结果却不一样。我们也可以看到在继承和覆盖当中求得了一定的平衡。需要注意的是,并不是所有的任何一项都可以被 override 来覆盖,有一项属性和方法是没办法覆盖掉的。第一是变量,变量是没办法被覆盖的,还有常量。另外就是我们前边所说的静态方法,还有就是没有被继承的方法。另外还有一些就是实时接口的方法,还有超类当中被标记为 final 的方法。实际上它还是有一定的限制。另外就是在子类继承父类的同时实际上也是可以访问父类的方法。比如说我们用 super关键字,super 呢实际上是去访问它的父类。我们来执行一下 super 当中的 sayHi。这样一来呢,实际上 A 会输出 2 个结果,第一呢是它自己定义的法语的 sayHi,第二呢它会输出父类的 sayHi 方法。这就是在覆盖当中我们仍然可以引用父类的一些方法。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育教学资料库 > 精品笔记

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。