私の質問を説明する。次のコードスニペットを仮定します。FlexとActionscriptのコンポーネント名とIDはどこから来たのですか?
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml">
<mx:Script>
<![CDATA[
import mx.controls.Button;
private function createButton():void
{
var myButton:Button = new Button();
myButton.label = "Foo";
this.btncontainer.addChild(myButton);
trace ("New Button Created [" + myButton.toString() + "]");
}
]]>
</mx:Script>
<mx:Button label="Create Button" click="createButton()" />
<mx:VBox id="btncontainer" />
</mx:Application>
このスクリプトの動作は明白です。 「ボタンを作成」ボタンをクリックするたびに、ラベルが「Foo」の新しいボタンが生成されます。コードが何をして、なぜそれが私にとって理にかなっているのですか?私の質問は、コンソールの出力についてです。私は、デバッグモードでアプリケーションを実行し、クリックすると「ボタンの作成」私は私のコンソールで、次の取得4回:
New Button Created [main0.btncontainer.Button15]
New Button Created [main0.btncontainer.Button19]
New Button Created [main0.btncontainer.Button23]
New Button Created [main0.btncontainer.Button27]
私の質問はどこオブジェクト名に付加番号から来たんですか?例えばボタン15,19,23,27 ...など?オブジェクトを保持するバックグラウンドに配列があり、これがインデックス値ですか?それは何らかの内部のカウンターですか?これは何らかのポインタ値ですか?私のテストでは、少なくとも、なぜこのパターンでは毎回同じパターン15,19,23,27が4回ずつ離れているように見えますか?
ここでは何が起こっているのかを概念的に理解しています。新しいButtonオブジェクトが生成され、メモリが割り当てられます。 「Create Button」をクリックするたびに、Buttonクラスの新しいインスタンスを作成し、子としてVBoxオブジェクトに追加します。私はオブジェクトが作成されたときに追加された数字の意味や意義は何か不思議でしたか?
ありがとうございました。 –