Class結(jié)構(gòu)教程_Flash教程
推薦:簡(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)始:
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 類 -------------------
public function Board1(a:String, b:String) {
super(a, b);
}
public function getString() {
str = "In Board1 " getAge();
trace(str);
}
}
----------- Board2 類 -------------------
private var str:String;
public function Board2(a:String, b:String) {
super(a, b);
}
public function getString() {
str = "In Board2 " getAge();
trace(str);
}
}
----------- 在 Flash 的代碼 -------------------
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è)例子吧
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)軸上的文
- as中禁用ESC鍵
- AS3.0 圖片變黑白 圖片彩色變黑白代碼
- flash as3.0 跨域的解決辦法
- 模板無(wú)憂FLASH透明代碼
- Flash教你制作卡通MM眨眼睛動(dòng)畫(huà)
- Flash從零開(kāi)始學(xué)習(xí)創(chuàng)建單選按鈕
- Flash繪制小龍與花插畫(huà)場(chǎng)景
- Flash程序的測(cè)試方法
- Flash CS4文字顏色緩動(dòng)特效
- 網(wǎng)頁(yè)中演示類FLASH動(dòng)畫(huà)制作規(guī)范
- Flash CS3循環(huán)背景的運(yùn)用技巧
- Flash鼠繪技巧教你制作紅綠色的樹(shù)葉
Flash教程Rss訂閱網(wǎng)站制作教程搜索
Flash教程推薦
- Flash MX2004入門與進(jìn)階實(shí)例——時(shí)間軸特效和行為(2)
- Flash MX2004入門與進(jìn)階實(shí)例——元件和實(shí)例(2)
- Flash鼠繪入門教程:繪制竹林歇燕過(guò)程
- 利用Flash動(dòng)畫(huà)讀取IE瀏覽器參數(shù)
- 模糊、緩沖、順序加載、XML等的混合運(yùn)用簡(jiǎn)單實(shí)例
- Flash制作超酷的旋轉(zhuǎn)圖像像冊(cè)視覺(jué)效果
- Flash入門實(shí)例:制作傳統(tǒng)風(fēng)格卷簾動(dòng)畫(huà)
- Flash實(shí)例教程:多張圖片循環(huán)滾動(dòng)
- 關(guān)于影片剪輯在主場(chǎng)景中位置修改的Flash技巧
- Flash基礎(chǔ)知識(shí):設(shè)置影片剪輯的屬性
猜你也喜歡看這些
- 2008新東方趙麗詞匯5500(FLASH版)完全版
- flash運(yùn)動(dòng)規(guī)律與動(dòng)作實(shí)現(xiàn)
- 新東方任汝芬考研政治大綱解析班flash視頻及其他
- Adobe Flash CS5 新增功能課程
- Flash 8中文版MV及課件制作基礎(chǔ)培訓(xùn)百例
- Flash CS4中文版入門與提高
- 北風(fēng)網(wǎng)web講師李炎恢老師網(wǎng)頁(yè)三劍客之flash從入門到精通59課時(shí)|已完結(jié)
- Adobe Flash CS4 新增功能教程(中文視頻)更新完畢
- Flash8全實(shí)例學(xué)習(xí)手冊(cè)原書(shū)配套光盤
- flash實(shí)例教程-遮罩動(dòng)畫(huà)
- 相關(guān)鏈接:
- 教程說(shuō)明:
Flash教程-Class結(jié)構(gòu)教程
。