Class结构教程
作者 佚名技术
来源 服务器技术
浏览
发布时间 2012-07-11
来了这里快4个月了, 发现几乎没什么Class的教程, 而AS区再不加强的话, 技术就会跟不上时代了, 所以乘现在精力旺盛的时候快写一些...不然以后潜水的时候就没那种冲劲了... 说实在的这篇教程我也不知道要怎么详细的写, 因为要详细解释的话也太长了.... 所以我都会快速的以简短的例子说明, 至于新手们可能会有很多不明白... 希望新手能够学会掌握了基本的技巧再来翻阅这篇教程就自然容易理解.... 至于什么是private, public, protected等这些基本的说明还是请你们看看基础的书籍教程或网络上的说明吧, 主题也写明了是"结构"上的教程 1. 最基本的Class定义方面我不多说了, 就举个例子直接开始: class Flash8 { private var user:String; //定义变量 private var pass:String; private var age:Number; public function Flash8(x:String, y:String) { //class的结构函数 user = x; pass = y; trace("用户名 = "+user+", 密码 = "+pass); } public function setAge(x:Number):Void { //class中的定义函数 age = x; } public function getAge() { trace(user+" is "+age+" years old."); } } --------------- 在 Flash 的代码 ------------ var a = new Flash8("Super-Tomato", "123456"); a.setAge(24); a.getAge(); //得到的输出结果是: //用户名 = Super-Tomato, 密码 = 123456 //Super-Tomato is 24 years old. 2. 再来是Inheritance继承并且使用Overriding, 引用之前的Flash8类,作为SuperClass class Flash8 { private var user:String; //定义变量 private var pass:String; private var age:Number; public function Flash8(x:String, y:String) { //class的结构函数 user = x; pass = y; trace("用户名 = "+user+", 密码 = "+pass); } public function setAge(x:Number):Void { //class中的定义函数 age = x; } public function getAge() { trace(user+" is "+age+" years old."); } } -------------- Board1类 ------------------- class Board1 extends Flash8 { //继承都必定要使用extends来指定所继承的SuperClass public function Board1() { trace("这个是继承类SubClass, SuperClass还是会被执行"); } public function getAge() { trace("这里使用了Overriding"); } } --------------- 在Flash的代码 -------------- var a = new Board1(); a.getAge(); //输出的结果为 : //用户名 = undefined, 密码 = undefined //这个是继承类SubClass, SuperClass还是会被执行 //这里使用了Overwritten 从这里可以知道, Flash8类还是有本执行.....当中的继承之间都同时出现了getAge()函数, 到底要用哪个getAge()才是对的呢?? 答案是Board1的getAge(), 原因是因为他已经derived(继承)了Flash8, 也就是说Flash8的getAge()被Override(可以说被取代)了 AOL之前也有写过这样的例子: http://www.flash8.net/teach.ASPx?id=1435 http://www.flash8.net/teach.aspx?id=599 3. Polymorphism (多形) 其实Polymorphism和Inheritance一样是被override, 但polymorphism则是多个继承, 接下来的例子当中我会使用到super和调用SuperClass的方法: class Flash8 { private var user:String; private var pass:String; private var age:Number; private var str:String; public function Flash8(x:String, y:String) { user = x; pass = y; trace("用户名 = "+user+", 密码 = "+pass); } public function setAge(x:Number):Void { age = x; } public function getAge() { str = user+" is "+age+" years old."; return str; } } ----------- Board1 类 ------------------- class Board1 extends Flash8 { public function Board1(a: |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |
你可能对下面的文章感兴趣
上一篇: 较酷的导航按钮下一篇: Flash MX 2004 XML导入插件
关于Class结构教程的所有评论