關(guān)于類、私有屬性與繼承的理解
更新時間:2008年03月30日 14:01:30 作者:
學習FLASH的時間也不短了,但總覺得還有很多的東西在等我去弄清楚。而且有很多東西也是搞得似懂非懂。在這里,把類、私有屬性跟繼承的理解講一下。也希望大家能無私補充,以臻佳景。
1、首先,定義一個基本的類,定義類的方法用"Class"命令。
//創(chuàng)建一個基本的類時,應注意類的定義必須在外部的類腳本文件中(新建-AS文件),文件的擴展名為“as”;另外,一個重點就是要有“三個統(tǒng)一”:類名、類腳本文件名跟類中構(gòu)造器名要一致。
方法:文件-新建-ActionScript文件,保存,文件名取為"中國人.as“。然后在里面加入如下代碼:
//此處的名稱,應與文件名一致。前面有講過。
class 中國人 {
//設(shè)置了一個“皮膚顏色”屬性,它的值為字符串類型,默認值為“黃色”
public var 皮膚顏色:String = "黃色";
//設(shè)置了一個“頭發(fā)顏色”屬性,它的值為字符串類型,默認值為“黑色”
public var 頭發(fā)顏色:String = "黑色";
//設(shè)置了一個方法函數(shù),函數(shù)名為“娶老婆”,返回類型為字符串型。
public function 娶老婆():String {
return ("抬花轎,喝啤酒,鬧洞房");
}
}
2、使用一個類,使用類之前,必須先將此類導入。一般用import ***;完成。
方法:新建一個FLASH文件,保存在剛才建立的相同目錄。然后在里面加入如下代碼:
//此句是個人習慣,可以不加,后同。。。
/*http://www.dbjr.com.cn 腳本之家*/
/*
備注:自Flash MX之后,F(xiàn)lash正式支持Unicode編碼,所以我們可以直接以中文名作為變量名。
*/
//引入“中國人”類,注意:引入名必須和類名以及類文件名一致,也請注意,凡是導入類的時候,類的后面是沒有()的。
import 中國人;
//建立一個“中國人”類的實例:劉某
var HBRO:中國人 = new 中國人();
//輸出對象實例“劉某”的“發(fā)色”屬性
trace("HBRO的頭發(fā)顏色為:"+HBRO.頭發(fā)顏色);
//輸出對象實例“劉某”的“膚色”屬性
trace("HBRO的皮膚顏色為:"+HBRO.皮膚顏色);
//輸出對象實例“劉某”的方法“過新年”所返回的值,注意trace后面如果跟方法,則在方法的()后面不能加上";"號。
trace("HBRO娶老婆:"+HBRO.娶老婆());
/*http://www.dbjr.com.cn 腳本之家*/
這樣,一個簡單類的創(chuàng)立與應用就成功了。
3、私有屬性的使用。在此,我們與繼承同步進行?,F(xiàn)在我們新建一個"重慶人.as"類,然后里面加入如下代碼:
class 重慶人 extends 中國人 {
public var 個性:String = "喜歡吃辣椒";
private var 特征:String;
public function 外表():String {
this.特征 = "英俊瀟灑、風流倜儻、迷倒萬千少女";
return (this.特征);
}
}
注意第三行,用的是private。一般說來,用到私有屬性的時候,一定有必要用一個公共函數(shù)對私有屬性進行連接。注意,繼承用的是exstends。
Class A extends B 表示的意思是,A繼承于B,就好比某個大型企業(yè)老板壽終正寢后,他的家業(yè)就得由他的兒子來繼承.在這里的意思,是A繼承B的屬性.比如這位老板姓黃,他的兒子也得跟著姓黃一個道理.
下面,我們先來看繼承的應用。在第二步中建立的文件中替換為如下代碼:
/*http://www.dbjr.com.cn 腳本之家*/
/*
備注:自Flash MX之后,F(xiàn)lash正式支持Unicode編碼,所以我們可以直接以中文名作為變量名。
*/
//引入“中國人”類,注意:引入名必須和類名以及類文件名一致,也請注意,凡是導入類的時候,類的后面是沒有()的。
import 中國人;
//建立一個“中國人”類的實例:劉某
var HBRO:中國人 = new 中國人();
//輸出對象實例“劉某”的“發(fā)色”屬性
trace("HBRO的頭發(fā)顏色為:"+HBRO.頭發(fā)顏色);
//輸出對象實例“劉某”的“膚色”屬性
trace("HBRO的皮膚顏色為:"+HBRO.皮膚顏色);
//輸出對象實例“劉某”的方法“過新年”所返回的值,注意trace后面如果跟方法,則在方法的()后面不能加上";"號。
trace("HBRO娶老婆:"+HBRO.娶老婆());
//定義一個名叫沙子的重慶人類
var 沙子:重慶人 = new 重慶人();
//輸出沙子的個性
trace("沙子的個性:"+沙子.個性);
//為了測試重慶人類是否已經(jīng)成功繼承于父類“中國人”,測試一下沙子的膚色
trace("沙子的皮膚顏色:"+沙子.皮膚顏色);
trace("沙子的外表:"+沙子.外表());
/*http://www.dbjr.com.cn 腳本之家*/
注意區(qū)分里面的不同之處。。。。。。
新添加的部分如下:
//定義一個名叫沙子的重慶人類
var 沙子:重慶人 = new 重慶人();
//輸出沙子的個性
trace("沙子的個性:"+沙子.個性);
//為了測試重慶人類是否已經(jīng)成功繼承于父類“中國人”,測試一下沙子的膚色
trace("沙子的皮膚顏色:"+沙子.皮膚顏色);
trace("沙子的外表:"+沙子.外表());
按CTRL+ENTER鍵,即可以看到效果.
以上源碼下載地址:
http://img.jb51.net/downtools/classandexstends.rar
//創(chuàng)建一個基本的類時,應注意類的定義必須在外部的類腳本文件中(新建-AS文件),文件的擴展名為“as”;另外,一個重點就是要有“三個統(tǒng)一”:類名、類腳本文件名跟類中構(gòu)造器名要一致。
方法:文件-新建-ActionScript文件,保存,文件名取為"中國人.as“。然后在里面加入如下代碼:
復制代碼 代碼如下:
//此處的名稱,應與文件名一致。前面有講過。
class 中國人 {
//設(shè)置了一個“皮膚顏色”屬性,它的值為字符串類型,默認值為“黃色”
public var 皮膚顏色:String = "黃色";
//設(shè)置了一個“頭發(fā)顏色”屬性,它的值為字符串類型,默認值為“黑色”
public var 頭發(fā)顏色:String = "黑色";
//設(shè)置了一個方法函數(shù),函數(shù)名為“娶老婆”,返回類型為字符串型。
public function 娶老婆():String {
return ("抬花轎,喝啤酒,鬧洞房");
}
}
2、使用一個類,使用類之前,必須先將此類導入。一般用import ***;完成。
方法:新建一個FLASH文件,保存在剛才建立的相同目錄。然后在里面加入如下代碼:
復制代碼 代碼如下:
//此句是個人習慣,可以不加,后同。。。
/*http://www.dbjr.com.cn 腳本之家*/
/*
備注:自Flash MX之后,F(xiàn)lash正式支持Unicode編碼,所以我們可以直接以中文名作為變量名。
*/
//引入“中國人”類,注意:引入名必須和類名以及類文件名一致,也請注意,凡是導入類的時候,類的后面是沒有()的。
import 中國人;
//建立一個“中國人”類的實例:劉某
var HBRO:中國人 = new 中國人();
//輸出對象實例“劉某”的“發(fā)色”屬性
trace("HBRO的頭發(fā)顏色為:"+HBRO.頭發(fā)顏色);
//輸出對象實例“劉某”的“膚色”屬性
trace("HBRO的皮膚顏色為:"+HBRO.皮膚顏色);
//輸出對象實例“劉某”的方法“過新年”所返回的值,注意trace后面如果跟方法,則在方法的()后面不能加上";"號。
trace("HBRO娶老婆:"+HBRO.娶老婆());
這樣,一個簡單類的創(chuàng)立與應用就成功了。
3、私有屬性的使用。在此,我們與繼承同步進行?,F(xiàn)在我們新建一個"重慶人.as"類,然后里面加入如下代碼:
復制代碼 代碼如下:
class 重慶人 extends 中國人 {
public var 個性:String = "喜歡吃辣椒";
private var 特征:String;
public function 外表():String {
this.特征 = "英俊瀟灑、風流倜儻、迷倒萬千少女";
return (this.特征);
}
}
Class A extends B 表示的意思是,A繼承于B,就好比某個大型企業(yè)老板壽終正寢后,他的家業(yè)就得由他的兒子來繼承.在這里的意思,是A繼承B的屬性.比如這位老板姓黃,他的兒子也得跟著姓黃一個道理.
下面,我們先來看繼承的應用。在第二步中建立的文件中替換為如下代碼:
復制代碼 代碼如下:
/*http://www.dbjr.com.cn 腳本之家*/
/*
備注:自Flash MX之后,F(xiàn)lash正式支持Unicode編碼,所以我們可以直接以中文名作為變量名。
*/
//引入“中國人”類,注意:引入名必須和類名以及類文件名一致,也請注意,凡是導入類的時候,類的后面是沒有()的。
import 中國人;
//建立一個“中國人”類的實例:劉某
var HBRO:中國人 = new 中國人();
//輸出對象實例“劉某”的“發(fā)色”屬性
trace("HBRO的頭發(fā)顏色為:"+HBRO.頭發(fā)顏色);
//輸出對象實例“劉某”的“膚色”屬性
trace("HBRO的皮膚顏色為:"+HBRO.皮膚顏色);
//輸出對象實例“劉某”的方法“過新年”所返回的值,注意trace后面如果跟方法,則在方法的()后面不能加上";"號。
trace("HBRO娶老婆:"+HBRO.娶老婆());
//定義一個名叫沙子的重慶人類
var 沙子:重慶人 = new 重慶人();
//輸出沙子的個性
trace("沙子的個性:"+沙子.個性);
//為了測試重慶人類是否已經(jīng)成功繼承于父類“中國人”,測試一下沙子的膚色
trace("沙子的皮膚顏色:"+沙子.皮膚顏色);
trace("沙子的外表:"+沙子.外表());
/*http://www.dbjr.com.cn 腳本之家*/
注意區(qū)分里面的不同之處。。。。。。
新添加的部分如下:
復制代碼 代碼如下:
//定義一個名叫沙子的重慶人類
var 沙子:重慶人 = new 重慶人();
//輸出沙子的個性
trace("沙子的個性:"+沙子.個性);
//為了測試重慶人類是否已經(jīng)成功繼承于父類“中國人”,測試一下沙子的膚色
trace("沙子的皮膚顏色:"+沙子.皮膚顏色);
trace("沙子的外表:"+沙子.外表());
以上源碼下載地址:
http://img.jb51.net/downtools/classandexstends.rar
相關(guān)文章
AS3.0 實例學習 熟悉tween以及tweenEvent的運用
AS3.0 實例學習 熟悉tween以及tweenEvent的運用...2007-12-12flash as Actionscript中的數(shù)組的使用方法
flash as Actionscript中的數(shù)組的使用方法...2007-11-11可控制Flash Player的Javascript方法總結(jié)
可控制Flash Player的Javascript方法總結(jié)...2007-03-03