欧美日韩精品在线,国内精品久久久久久久久,一级毛片恃级毛片直播,清纯唯美亚洲综合欧美色

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

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

推薦:簡單的檢測鼠標(biāo)是否有移動的類
簡單的檢測鼠標(biāo)是否有移動的類classMouseMoveextendsMovieClip{privatevar_nx:Number;privatevar_ny:Number;privatevar_ox:Number;privatevar

1. 最基本的Class定義方面我不多說了, 就舉個例子直接開始:

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. 再來是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來指定所繼續(xù)的SuperClass
public function Board1() {
trace("這個是繼續(xù)類SubClass, SuperClass還是會被執(zhí)行");
}
public function getAge() {
trace("這里使用了Overriding");
}
}

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

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

從這里可以知道, Flash8類還是有本執(zhí)行.....當(dāng)中的繼續(xù)之間都同時出現(xiàn)了getAge()函數(shù), 到底要用哪個getAge()才是對的呢??
答案是Board1的getAge(), 原因是因為他已經(jīng)derived(繼續(xù))了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則是多個繼續(xù), 接下來的例子當(dāng)中我會使用到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 以上方法大致上會使用的方法都說完了, 而Implementing方面的例子, AS區(qū)版主holybozo在之前已經(jīng)使用過了, 所以也有例子可以參考..我在這里就不多說了
但在JAVA當(dāng)中還有一個叫Overloading的方法, 但在AS2.0的class中暫時無法使用....什么是Overloading呢?? 這里也舉個例子吧

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


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

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