AS2.0的私有,公有成員,類繼承和as嵌套_Flash教程
教程Tag:暫無Tag,歡迎添加,賺取U幣!
推薦:Flash 2004 MX Components1.0UIObject.createObject();作用:創(chuàng)建一個(gè)組件對(duì)象用法:componentInstance.createObject(linkageName,instanceName,depth,initObject)例子:在這個(gè)A
AS2.0和JAVA.C#一樣.也運(yùn)用OOP模式.哪它一定就有繼續(xù).子類父類超類的分別.學(xué)過JAVA,C#的人很快就能理解.
這里說的類繼續(xù)指一個(gè)class類能夠繼續(xù)另一個(gè)class類的全部方法和屬性.在說AS2.O的
類繼續(xù)方法前.先說一下什么是.private(私有性成員)和public(公有性成員)
AS2.0建立在class中的所有變量,方法,屬性默認(rèn)都是公有性的.我們當(dāng)然也可以定義為私有
性的.比如一個(gè)變量.或方法.我并不想在FLA文件中用到.而只是在class類中作為一個(gè)函數(shù)或
私有方法為這個(gè)class文件所用.就要用到private 定義為私有性
舉例:
建立一個(gè)名為test_private.as的class類文件:
class test_private
{
private var tmp1:String; //聲明tmp為私有變量
public var tmp2:String; //不加public默認(rèn)都為公有變量
function test_private()
{
tmp1 = "私有變量"; //賦值
tmp2 = "公有變量";
}
}
然后你在fla文件Layer1中調(diào)用這個(gè)class
var myclass:test_private = new test_private();
trace("tmp1=" myclass.tmp1);
trace("tmp2=" myclass.tmp2);
將會(huì)出現(xiàn)檢測(cè)到一個(gè)私有成員不能被防問的錯(cuò)誤.指向在tmp1這個(gè)private變量上.
現(xiàn)在我們把fla里的代碼改一下再運(yùn)行:
var myclass = new test_private();
trace("tmp1=" myclass.tmp1);
trace("tmp2=" myclass.tmp2);
這次運(yùn)行通過.顯然區(qū)別就在于.定義class對(duì)象時(shí)假如定義引用class類的 type 類形,FLASH
將會(huì)檢測(cè)到類中哪些為公有性和私有性的成員.我們也可以把方法.自定義函數(shù)定義成為類私有成員;這樣做的好處.私有成員不會(huì)被前臺(tái)調(diào)用.也防止一些變量或函數(shù)方法的被惡意
調(diào)用.
下面說的是類繼續(xù):
比如說.我建立的一個(gè)類的方法,屬性,變量想被別一個(gè)class調(diào)用.而我又不想在另一個(gè)類中
重復(fù)寫代碼.就要用到繼續(xù).再比如說一個(gè)類在flash運(yùn)行中.行到一個(gè)動(dòng)態(tài)的變量.而我的另
一個(gè)類文件運(yùn)行時(shí)想調(diào)用這個(gè)動(dòng)態(tài)的變量.就要給這兩個(gè)類文件建立一個(gè)關(guān)系.
說簡(jiǎn)單點(diǎn):父類與子類關(guān)系.或者是爺爺類,父類.子類關(guān)系.他們都有一些相同的特性.而自
己本身也可以有自己的特性.相同的特性都可以使用.
舉例:
建立一個(gè)fla文件.一個(gè)名為txt的文本框.一個(gè)名為square的方塊mc,兩個(gè)按鈕
//建立一個(gè)test1.as的類文件
class test1
{
private var hide_txt:String;
private var show_txt:String;
private function hide_sq()
{
_root.square._visible = false;
}
private function show_sq()
{
_root.square._visible=true;
}
}
他有兩個(gè)私有方法,和兩個(gè)私有String變量,作用是顯示和隱蔽MC square;
建立一個(gè)test2.as的類文件,我們要用這個(gè)類文件繼續(xù)test1.as的所有成員
class test2 extends test1
{
function test2()
{
hide_txt = "隱藏"; //繼續(xù)了test1的變量,我們可以給他賦值
show_txt="顯示";
}
}
現(xiàn)在我們?cè)趂la中調(diào)用test2.as的繼續(xù)類來實(shí)現(xiàn)test1.as中的方法;
在一個(gè)button上的as中寫入以下代碼,用來隱藏和顯示信息
on (release) {
var myclass= new test2();
myclass.hide_sq(); //繼續(xù)了test1.as中的方法
txt.text = myclass.hide_txt;
//這是在test2.as中賦值的test1.as中的變量,說明繼續(xù)之后變更為自己的特性
}
在另一個(gè)button上AS中寫上以下:
on (release) {
var myclass = new test2();
myclass.show_sq();
txt.text = myclass.show_txt;
}
我們還可以在test1.as中加入新的方法.既可作為獨(dú)立的類同樣也是一個(gè)繼續(xù)類.
說完繼續(xù)類.再來說as文件嵌套.在flashmx中曾用到過#include "filename.as"
方式.假如用Flash Remoting就要引用 #include "NetDebug.as"等文件.
其實(shí).很象繼續(xù)類.在一個(gè)as文件嵌套引用另一個(gè)as文件中的方法.
但是flash mx 2004中,as文件嵌套和繼續(xù)類寫法不一樣.
舉例:
建立test3.as文件如下:
var hide_txt:String;
var show_txt:String;
function hide_sq()
{
_root.square._visible = false;
}
function show_sq()
{
_root.square._visible=true;
}
建立test4.as文件如下:
class test4
{
#include "test3.as"
//這里引用test3.as文件.注重沒(;)號(hào)結(jié)尾不然會(huì)出現(xiàn)一個(gè)語法錯(cuò)誤
function test4()
{
hide_txt = "隱藏";
show_txt="顯示";
}
}
很顯然.test3.as不是一個(gè)clas類文件.而只是一個(gè)包含自定義函數(shù)變量的
as文件.假如你加上clas{}變?yōu)轭愇募?#include不能包含定義成類的as文
件.下面使用嵌套的test4.as類文件;在兩個(gè)BUTTON上加入以下代碼.同上
面差不多.
on (release) {
var myclass:test4 = new test4();
myclass.show_sq()
txt.text = myclass.show_txt;
}
on (release) {
var myclass:test4= new test4();
myclass.hide_sq()
txt.text = myclass.hide_txt;
}
顯然test4.as類文件一樣也能引用嵌套進(jìn)來的as文件中的變量和自定義函數(shù);
你也可以嵌套進(jìn)多個(gè)as文件,這與類繼續(xù)有點(diǎn)不一樣.
AS2.0比起1.0相對(duì)靈活多了.同樣.對(duì)coder的要求也高了.相信以后Designer
和coder將會(huì)分工了.
分享:為AS2.0添磚加瓦-編寫類擴(kuò)展(4)mc的雙擊事件1、建立CPoweredByXiaowu.as:classCPoweredByXiaowuextendsMovieClip{//--------------------------------------------------------------
相關(guān)Flash教程:
Flash教程Rss訂閱網(wǎng)站制作教程搜索
Flash教程推薦
- Flash MX2004入門與進(jìn)階實(shí)例--動(dòng)畫基礎(chǔ)(23)
- Silverlight vs Flash的技術(shù)比較
- Flash AS教程:填色游戲的制作
- setInterval全面的介紹
- 通過實(shí)例學(xué)習(xí)Flash AS3.0——案例六
- Flash基礎(chǔ)教程 動(dòng)畫基礎(chǔ)知識(shí)
- Flash制作簡(jiǎn)單的方形收縮的變換像冊(cè)特效
- Flash教程:旋轉(zhuǎn)花朵效果的制作
- Flash基礎(chǔ)知識(shí):設(shè)置影片剪輯的屬性
- Flash高級(jí)技巧:全新Flash鏡頭的控制處理
猜你也喜歡看這些
- 新東方劍橋商務(wù)英語BEC flash教程 初+中+高 (現(xiàn)已穩(wěn)定供源)
- 中國(guó)閃客原創(chuàng)爬行榜Flash TOP10動(dòng)畫風(fēng)暴 隨書光盤 2CD
- 中科院新科海Flash培訓(xùn)視頻
- 新東方任汝芬考研政治大綱解析班flash視頻及其他
- Flash 8 入門與提高實(shí)例教程
- Flash 8完美動(dòng)畫設(shè)計(jì)與制作
- Flash CS3動(dòng)畫制作從新手到高手
- Flash 8中文版MV及課件制作基礎(chǔ)培訓(xùn)百例
- Authorware 7.0 Flash MX 2004多媒體創(chuàng)作實(shí)例導(dǎo)學(xué)
- Flash卡通動(dòng)畫設(shè)計(jì)-隨書光盤
- 相關(guān)鏈接:
- 教程說明:
Flash教程-AS2.0的私有,公有成員,類繼承和as嵌套
。