flash as3.0中g(shù)et與set的用法與案例代碼
發(fā)布時間:2012-12-31 15:08:45 作者:佚名
我要評論
有一個屬性,我們想從外部調(diào)用它,也能夠從外部訪問它,但是不讓它暴露到外部,這時我們?nèi)绾稳プ瞿??這里就要用到我們的get關(guān)鍵字,下面我們就來詳細講解一下get及set的使用方法
我們知道,我們在編寫類的時候應(yīng)該盡量將它的屬性和方法都隱藏起來,但當我們要調(diào)用某一個屬性的時候,我們就不得不將它暴露出來,這是唯一的一種解決方法嗎?答案是否定的,我們現(xiàn)在要求這樣,有一個屬性,我們想從外部調(diào)用它,也能夠從外部訪問它,但是不讓它暴露到外部,這時我們?nèi)绾稳プ瞿??這里就要用到我們的get關(guān)鍵字。下面我們就來詳細講解一下get及set的使用方法。
先來看一段腳本,
package {
public class Setget {
private var Str:String = "歡迎";
public function get Data():String {
return Str;
}
public function set Data(ns:String):void {
Str= ns;
}
}
}
這段腳本并不長,但卻很好的體現(xiàn)了get的使用方法,我們來看一下。首先我們定義了一個名稱為huoqu的類,這個類中有一個私有屬性ming,這個屬性只能被當前類所訪問。也就是說,我們無法在外部調(diào)用或訪問這個屬性。這時我們就要使用get來讓這個屬性能夠被外部訪問。那么我們先來看第一個get函數(shù),這個函數(shù)有一個返回值,該返回值的類型是字符串。這個返回的數(shù)據(jù)就是一個我們隱藏的變量,通過這樣的手法我們就達到了封裝的目的。當我們調(diào)用這個變量的時候我們就可以直接調(diào)用ni這個函數(shù),通過這個函數(shù)去操作變量。我們再來看set這個函數(shù)的使用方法。set顧名思義是設(shè)置的意思。我們?nèi)绻麤]有寫set函數(shù),那么該屬性只是一個只讀屬性。如果我們設(shè)置了這個set函數(shù),那么該屬性就可以讀也可以設(shè)置。我們來看上面的腳本,這個函數(shù)接受了一個參數(shù),該參數(shù)就是我們設(shè)置屬性時要傳遞的值。請大家注意,set函數(shù)沒有返回值,如果你設(shè)置了返回值,那么將會倒是編譯錯誤。這就是類中聲明定義的方法。
下面我們再來看看如何使用兩個函數(shù)。我們先看腳本。
package {
import flash.display.MovieClip
public class Setgets extends MovieClip{
public function Setgets():void
{
init();
}
private function init():void
{
var _set:Setget = new Setget ();
trace(_set.Data)
_set.Data="光臨";
trace(_set.Data);
}
}
}
首先,要定義一個對象,該對象的類型是我們定義的類。然后我們調(diào)用ni這個方法,雖然調(diào)用這個方法,實際上是讀取一個屬性的值。第三句我們設(shè)置了改屬性的值,注意,此時調(diào)用的實際上就是set函數(shù),我們再輸出這個屬性值,發(fā)現(xiàn)輸出的內(nèi)容發(fā)生了改變。
先來看一段腳本,
復(fù)制代碼
代碼如下:package {
public class Setget {
private var Str:String = "歡迎";
public function get Data():String {
return Str;
}
public function set Data(ns:String):void {
Str= ns;
}
}
}
這段腳本并不長,但卻很好的體現(xiàn)了get的使用方法,我們來看一下。首先我們定義了一個名稱為huoqu的類,這個類中有一個私有屬性ming,這個屬性只能被當前類所訪問。也就是說,我們無法在外部調(diào)用或訪問這個屬性。這時我們就要使用get來讓這個屬性能夠被外部訪問。那么我們先來看第一個get函數(shù),這個函數(shù)有一個返回值,該返回值的類型是字符串。這個返回的數(shù)據(jù)就是一個我們隱藏的變量,通過這樣的手法我們就達到了封裝的目的。當我們調(diào)用這個變量的時候我們就可以直接調(diào)用ni這個函數(shù),通過這個函數(shù)去操作變量。我們再來看set這個函數(shù)的使用方法。set顧名思義是設(shè)置的意思。我們?nèi)绻麤]有寫set函數(shù),那么該屬性只是一個只讀屬性。如果我們設(shè)置了這個set函數(shù),那么該屬性就可以讀也可以設(shè)置。我們來看上面的腳本,這個函數(shù)接受了一個參數(shù),該參數(shù)就是我們設(shè)置屬性時要傳遞的值。請大家注意,set函數(shù)沒有返回值,如果你設(shè)置了返回值,那么將會倒是編譯錯誤。這就是類中聲明定義的方法。
下面我們再來看看如何使用兩個函數(shù)。我們先看腳本。
復(fù)制代碼
代碼如下:package {
import flash.display.MovieClip
public class Setgets extends MovieClip{
public function Setgets():void
{
init();
}
private function init():void
{
var _set:Setget = new Setget ();
trace(_set.Data)
_set.Data="光臨";
trace(_set.Data);
}
}
}
首先,要定義一個對象,該對象的類型是我們定義的類。然后我們調(diào)用ni這個方法,雖然調(diào)用這個方法,實際上是讀取一個屬性的值。第三句我們設(shè)置了改屬性的值,注意,此時調(diào)用的實際上就是set函數(shù),我們再輸出這個屬性值,發(fā)現(xiàn)輸出的內(nèi)容發(fā)生了改變。
相關(guān)文章
flash cs6想要實現(xiàn)鼠標跟隨效果?該怎么制作呢?今天我們就來看看使用as2.0實現(xiàn)鼠標跟隨效果的教程,需要的朋友可以參考下2019-05-19
Flash cs6怎么使用代碼輸入中英文文本?Flash cs6中可以使用文字工具直接輸入文本,也可以使用代碼來輸入文本,該怎么使用代碼輸入文本呢?請看下文詳細的教程,需要的朋友2018-03-11
flash as3.0抽象類怎么定義? as3.0中有很多抽象類,該怎么定義抽象類和抽象方法呢?下面我們就來看看簡單的例子,需要的朋友可以參考下http://m.fzitv.net/softs/408402.2018-02-28
flash cs6中怎么使用ActionScript3.0?
flash cs6中怎么使用ActionScript3.0?flash cs6中想要使用ActionScript3.0功能,該怎么使用呢?下面我們就來看看詳細的教程,需要的朋友可以參考下2018-01-25
本教程給大家分享一個Flash小教程,教大家在Flash CS6中怎么實現(xiàn)鼠標點擊決定圖像位置?方法很簡單,感興趣的朋友歡迎前來一起分享學習2018-01-12
本教程教腳本之家的ActionScript教程學習者在Flash中如何用代碼將圖片放在自己想要的舞臺位置,教程講解的詳細,感興趣的朋友歡迎前來分享學習2017-11-20
在Flash CS6中使用with函數(shù)繪制背景圖教程
本教程教腳本之家的ActionScript教程學習者如何在Flash CS6中使用with函數(shù)繪制背景圖?教程一步步講解的挺詳細,方法也不難,非常適合Flash新手入門學習2017-11-18
Flash怎么設(shè)置元件坐標?flash使用代碼設(shè)置元件的坐標的教程
Flash怎么設(shè)置元件坐標?flash中導如的元件需要添加坐標,該怎么定位元件坐標呢?下面我們就來看看flash使用代碼設(shè)置元件的坐標的教程,需要的朋友可以參考下2017-10-11
Flash怎么制作來回搖擺的花朵的動畫?Flash中想要給花朵制作一段搖擺的動畫效果,該怎么制作呢?下面我們就來看看詳細的教程,很簡單,需要的朋友可以參考下2017-05-23
Flash怎么制作流動七彩色的文字?想要讓文字動起來,該怎么使用flash給文字制作一個流動七彩色的動畫呢?下面我們就來看看詳細的教程,需要的朋友可以參考下2017-04-23











