« applyとcallのscope | メイン | AS3でSingleton »

2007年7月30日

[as3] インスタンス化させないために

DisplayObjectを用いるのはいかがなものなんだろう。

package
{
  import flash.display.DisplayObject;
  public class Abstract extends DisplayObject
  {
    
  }
}

AS3ではクラスのコンストラクタ定義に private が使用できないので
普通に作ってると、作ったクラスがすべてインスタンス化できてしまう。

どうしてもインスタンス化されたくないクラスは DisplayObject を継承すれば
一応インスタンス化できなくなるんだけども。

使い方として間違ってる気がする。

しかも Singleton 的なことができない。
インスタンス化そのものができないから。

なんかいい方法がどっかに落っこちてないかなあ。

--追記

function Constructor()
{
  throw new ArgumentError ("#xxxx: Constructor Class cannot make a Instance.");
}
インスタンス化させないだけなら、単純にコンストラクタにエラーを返せばいいみたい。

トラックバック(0)

このブログ記事を参照しているブログ一覧: インスタンス化させないために

このブログ記事に対するトラックバックURL: http://system.seyself.com/mt-tb.cgi/420

コメントする


画像の中に見える文字を入力してください。

しばらく時間が経過すると、システム内部と表示されている文字内容に食い違いが発生するようなので、
投稿する前にページをリロードすることをお勧めします。
リロードしてもフォームの内容は維持されます。