コンストラクタと型キャスト


Moock の Essential ActionScript 2.0 を読んでいたら以下のコードに出会った。

public function update (o:Observable, infoObj:Object):Void {
  // Cast the generic infoObj to the ClockUpdate datatype.
  var info:ClockUpdate = ClockUpdate(infoObj);
  …
}

変数 info に ClockUpdate 型のインスタンスを代入しているのだが、ClockUpdate のコンストラクタが取る引数は 4 つである。それなのに、渡しているのは infoObj だた 1 つである。勿論、オーバーロードは行っていない。

public function ClockUpdate (h:Number, m:Number, s:Number, r:Boolean) {
  …
}

arguments.length を見ても 4 が返ってくるし、全く意味が解らなかったのだが、よく見たら、”Cast the generic infoObj to the ClockUpdate datatype.” と書いてあるではないか。ただの型キャスト!すっかりコンストラクタと思い込んでいた。

というか、コメントをちゃんと読めよという話ですね…。

カテゴリー: Flash   パーマリンク

コメントをどうぞ

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

*

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>