ActionScript3 に抽象クラスが存在しない件
タイトルの通り、ないものはないので何とかしようと頑張ってみたのですが…
package { import flash.display.Sprite; public class Sample extends Sprite { public function Sample() { super(); if(this.className == "Sample") { throw new Error(this.className + " class is abstruct!") } } public function abstructFunction():void { throw new Error("Not implemented yet."); } } }
上の例ならクラスが Sample と一致するインスタンスは new した段階で例外に、さらにメソッドも同様に処理すればサブクラス作るしかないだろうと思ったのですが、これでは駄目っ…!アウツ…!コンストラクタ内では this の指定がうまくいかないためか、コンパイルエラーになります。
それならと思って getDifinition やら isPrototypeOf など調べてみたのですが、どうもうまくいかず。動けばいいのならそこまでする必要もないのですが、他に使えそうなプロパティなりメソッドなりはあったかどうか?