日韩天天综合网_野战两个奶头被亲到高潮_亚洲日韩欧美精品综合_av女人天堂污污污_视频一区**字幕无弹窗_国产亚洲欧美小视频_国内性爱精品在线免费视频_国产一级电影在线播放_日韩欧美内地福利_亚洲一二三不卡片区

Class結(jié)構(gòu)教程_Flash教程

編輯Tag賺U幣
教程Tag:暫無(wú)Tag,歡迎添加,賺取U幣!

推薦:簡(jiǎn)單的檢測(cè)鼠標(biāo)是否有移動(dòng)的類
簡(jiǎn)單的檢測(cè)鼠標(biāo)是否有移動(dòng)的類classMouseMoveextendsMovieClip{privatevar_nx:Number;privatevar_ny:Number;privatevar_ox:Number;privatevar

1. 最基本的Class定義方面我不多說(shuō)了, 就舉個(gè)例子直接開(kāi)始:

class Flash8 {
private var user:String; //定義變量
private var pass:String;
private var age:Number;
public function Flash8(x:String, y:String) { //class的結(jié)構(gòu)函數(shù)
user = x;
pass = y;
trace("用戶名 = " user ", 密碼 = " pass);
}
public function setAge(x:Number):Void { //class中的定義函數(shù)
age = x;
}
public function getAge() {
trace(user " is " age " years old.");
}
}

--------------- 在 Flash 的代碼 ------------

var a = new Flash8("Super-Tomato", "123456");
a.setAge(24);
a.getAge();
//得到的輸出結(jié)果是:
//用戶名 = Super-Tomato, 密碼 = 123456
//Super-Tomato is 24 years old.

2. 再來(lái)是Inheritance繼續(xù)并且使用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的結(jié)構(gòu)函數(shù)
user = x;
pass = y;
trace("用戶名 = " user ", 密碼 = " pass);
}
public function setAge(x:Number):Void { //class中的定義函數(shù)
age = x;
}
public function getAge() {
trace(user " is " age " years old.");
}
}

-------------- Board1類 -------------------

class Board1 extends Flash8 { //繼續(xù)都必定要使用extends來(lái)指定所繼續(xù)的SuperClass
public function Board1() {
trace("這個(gè)是繼續(xù)類SubClass, SuperClass還是會(huì)被執(zhí)行");
}
public function getAge() {
trace("這里使用了Overriding");
}
}

--------------- 在Flash的代碼 --------------

var a = new Board1();
a.getAge();
//輸出的結(jié)果為 :
//用戶名 = undefined, 密碼 = undefined
//這個(gè)是繼續(xù)類SubClass, SuperClass還是會(huì)被執(zhí)行
//這里使用了Overwritten

從這里可以知道, Flash8類還是有本執(zhí)行.....當(dāng)中的繼續(xù)之間都同時(shí)出現(xiàn)了getAge()函數(shù), 到底要用哪個(gè)getAge()才是對(duì)的呢??
答案是Board1的getAge(), 原因是因?yàn)樗呀?jīng)derived(繼續(xù))了Flash8, 也就是說(shuō)Flash8的getAge()被Override(可以說(shuō)被取代)了 AOL之前也有寫(xiě)過(guò)這樣的例子: http://www.flash8.net/teach.aspx?id=1435 http://www.flash8.net/teach.aspx?id=599
3. Polymorphism (多形) 其實(shí)Polymorphism和Inheritance一樣是被override, 但polymorphism則是多個(gè)繼續(xù), 接下來(lái)的例子當(dāng)中我會(huì)使用到super和調(diào)用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;
public function Board2(a:String, b:String) {
super(a, b);
}
public function getString() {
str = "In Board2 " getAge();
trace(str);
}
}

----------- 在 Flash 的代碼 -------------------

var a = new Board1("Super-Tomato", "123456");
a.setAge(24);
a.getString();
var b = new Board2("Tomato", "12345");
b.setAge(24);
b.getString();

//輸出結(jié)果為 :
//用戶名 = Super-Tomato, 密碼 = 123456
//In Board1 Super-Tomato is 24 years old.
//用戶名 = Tomato, 密碼 = 12345
//In Board2 Tomato is 24 years old.

4. Implementing 以上方法大致上會(huì)使用的方法都說(shuō)完了, 而Implementing方面的例子, AS區(qū)版主holybozo在之前已經(jīng)使用過(guò)了, 所以也有例子可以參考..我在這里就不多說(shuō)了
但在JAVA當(dāng)中還有一個(gè)叫Overloading的方法, 但在AS2.0的class中暫時(shí)無(wú)法使用....什么是Overloading呢?? 這里也舉個(gè)例子吧

class SuperClass {
private var Name:String;
private var Price:Number;
public function setItem(a:String) {
Name = a;
}
public function setItem(a:String, b:Number) {
Name = a;
Price = b;
}
}

看到了嗎?? 當(dāng)中有兩個(gè)函數(shù)名字是一樣的... 主要只是在于參數(shù)不同而決定使用的函數(shù)
好啦.... Class的用法我已經(jīng)粗略的介紹過(guò)了, 當(dāng)然你們還是需要去看看具體的說(shuō)明和更多的例子以把握好Class的應(yīng)用...這樣不只對(duì)Flash有幫助, 而且還可以跳出Flash的編程范圍轉(zhuǎn)向其他語(yǔ)言的結(jié)合


分享:一個(gè)用純AS寫(xiě)的正態(tài)曲線畫(huà)法
我的這段AS寫(xiě)了不少有用的函數(shù),如畫(huà)按鈕函數(shù),畫(huà)坐標(biāo)軸函數(shù),畫(huà)框架函數(shù).這些函數(shù)都有很強(qiáng)的移植性,以后都可以直接拿來(lái)用;//================按鈕和坐標(biāo)軸上的文

來(lái)源:設(shè)計(jì)前沿網(wǎng)上收集//所屬分類:Flash教程/更新時(shí)間:2008-03-05
相關(guān)Flash教程