カスタムクラスと継承について(5)
2007/12/01 23:52 - AS3.0
今回から実践編ってことで、とりあえず俄仕込みの知識でもって、カスタムクラスとそれを継承したサブクラスを作ってみます。
まずは至極カンタンなもんから始めました。
- SimpleDrawn (スーパークラス)
- SimpleDrawnAddLabel (サブクラス)
SimpleDrawn は Shape、Sprite、MovieClip の graphics プロパティを使って、単色の矩形や円を描くだけの極めて簡単な機能を備えたクラスです。
SimpleDrawn のサンプル
そして SimpleDrawn を継承した SimpleDrawnAddLabel は、スーパークラスが作る単色の矩形や円に加え、ラベルとしてテキストを表示します。
テキストフィールドは対象となるオブジェクトに addChild するので、親クラスでは使えた Shape が、サブクラスでは使えなくなります。
SimpleDrawnAddLabel のサンプル
クラスファイルの中を見てのとおり、プロパティはほとんど private、メソッドは全部 public で、全然、継承ものっぽくありません。
SimpleDrawn のプロパティに二つ protected があるのと、SimpleDrawnAddLabel のメソッド一つが override しているのが、かろうじて継承したっぽい感じですね。
なお、SimpleDrawnAddLabel のテキスト表示は AqLetter を使っておこなっています。
ソース2をコンパイルする場合、AqLetter.as が必要です。
参考エントリー