Flexにはnamespaceというキーワードがある。
これは簡単にいえば、メソッドやプロパティのアクセス制御のためだと言ってしまってもいい。
どのようなときに使うかといえば、簡単に言ってしまえば内部事情を分かっている人だけに公開したいメソッドやプロパティを作りたい。
というときだろう。逆にいえば、外部に対しては見せたくないが、いろいろなパッケージで自由に使いたいときだろう。
たとえば、mx_internal。
flex framework を作っているAdobe向けの名前空間。flexのコンポーネントを改良しようかなと思うと必ずこのキーワードのあいます。
使い方は以下のようなたとえば、私の場合にはファイル(/com/coltware/fxmail_internal.as)を作成し、
package com.coltware
{
public namespace fxmail_internal = "http://www.coltware.com/2009/fxmail/internal";
}
次に、この名前空間に関数を定義するには
fxmail_internal function parseEnd():void{
}
のように、頭につければよい。publicや、protectedとかは一緒に使えません。
そして、使い方(その関数の呼び方)。
これはいろいろありますが、
import com.coltware.fxmail_internal; use namespace fxmail_internal;
と宣言してしまえば、使えます。後はふつうnamespaceを使っていない時と同様です。
今まで、どうせ自分ひとりのソースだからpublicでいいやとおもっていましたが、asdocでpublicは表示されるのはおかしいから変えようかなと思い、namespaceを使いましたが・・
ドキュメントは@privateと書けば出ませんでした・・・

