littlepad blog

引数付きコンストラクタを持ったクラスの継承

ちょっとハマったのでメモ。

// スーパークラス
public class AbstractClass 
{
    private var _data:Array;

    // コンストラクタ
    public function AbstractClass(data:Array)
    {
        _data = data;
    }
}
// 継承したクラス
public class ConcreteClass extends AbstractClass
{
    // コンストラクタ
    public function ConcreteClass(data:Array)
    {
        super(data);
    }
}

継承したコンストラクタでは暗黙的に super() が呼ばれる。
引数なしの場合はこのままで問題ないが、
引数がある場合は引数を含めた super() を明示的に記述する必要がある。

モバイルバージョンを終了