Class结构教程

发布日期  发布: 2009-5-02 | 发布人  发布者: 早知 | 来源  来源: 江西广告网


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:String, b:String) { super(a, b); } public function getString() { str = "In Board1 " getAge(); trace(str); } } ----------- Board2 类 ------------------- class Board2 extends Flash8 { private var str:String; pub
本站文章部分内容来自互联网,供读者交流和学习,如有涉及作者版权问题请及时与我们联系,以便更正或删除。感谢所有提供信息的网站,并欢迎各类媒体与我们进行信息共享合作。
关闭本窗口 | 打印 | 收藏此页 |  推荐给好友 | 举报

版块排行

  • SEO搜索                                    5984
  • Web软件                                    3334
  • 交互设计                                    3279
  • 平面软件                                    2575
  • 设计欣赏                                    2501
  • 游戏世界                                    1244
  • 程序开发                                    830
  • 前沿视觉                                    560
  • 电脑网络                                    514
  • 摄影赏析                                    291