« applyとcallのscope | メイン | AS3でSingleton »
2007年7月30日
[as3] インスタンス化させないために
DisplayObjectを用いるのはいかがなものなんだろう。
AS3ではクラスのコンストラクタ定義に private が使用できないので
普通に作ってると、作ったクラスがすべてインスタンス化できてしまう。
どうしてもインスタンス化されたくないクラスは DisplayObject を継承すれば
一応インスタンス化できなくなるんだけども。
使い方として間違ってる気がする。
しかも Singleton 的なことができない。
インスタンス化そのものができないから。
なんかいい方法がどっかに落っこちてないかなあ。
--追記
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

コメントする