スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

【AS3.0】set get アクセサってなんじゃらほい

カプセル化やカスタムイベントのお勉強をしていると
funciton set hoge()やらfunciton get hoge()やら出てくる。

ちゃんと使いこなせるようにきちんとお勉強しておこうってことで
調べたことのメモ。

setやらgetやらはアクセサメソッドと呼ばれるもので、
オリジナルのプロパティ(関数)を
作るときに、外部のクラスから呼び出したときに読み取り専用のプロパティなのか、
変更可能なプロパティなのかを宣言するためのものであるらしい。

setやgetを入れることで、本来参照出来ないプロパティ(関数)に
これを宣言することで外部からプロパティとして参照したり書き換えたりする処理を
実行できるようになる、と。


・読み取り専用のプロパティ(関数) → getアクセサメソッドを使用
function get hoge(){};
・変更可能なプロパティ(関数) → setアクセサメソッドを使用
function set hoge(){};

なるほどなるほど。
たしかに予約されたプロパティ(ビルトインクラスっつーやつ)にも参照専用と、
変更も参照も可能なものと両方可能なものがあるもんなー。

xとかyとかは変更も参照も可能、テキストフィールドのcaretIndexなんかは読み取り専用といった具合。

hoge="なにか値を渡す=変更可能なプロパティ" ってかけば、getと書かれた関数が呼び出され、
trace(hoge)と書けばsetと書かれた関数が呼び出されるっと。

つまり、xやyやalphaがビルトインクラスではなく
カスタムクラスだとするとsetとget両方が定義されていて、
caretIndexのカスタムクラスがあるとするとgetのみ定義されていると。

なんだ、大したことじゃないけど知らないと
ものっそ難しそうに見えるお話でした。


▼(おまけ)カプセル化について学ぶならここ(要はサブルーチン化みたいなことかな。)
http://itpro.nikkeibp.co.jp/article/COLUMN/20070705/276814/
スポンサーサイト

コメントの投稿

非公開コメント

ワンコウォッチ
プロフィール

Author:AGOSO
FC2ブログへようこそ!

最新記事
最新コメント
最新トラックバック
月別アーカイブ
カテゴリ
ワンコウォッチ[ベリー・レッド]
検索フォーム
RSSリンクの表示
リンク
ブロとも申請フォーム

この人とブロともになる

QRコード
QR
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。