Flex 4継承シンプル実装

1504 ワード

Flex継承は「is-a」タイプの再利用であり、子の親への継承である.子は親のすべての属性を持ち、自分の属性を増やしたり、親の属性を書き換えたりすることができます.
1、テストインタフェースを書き出します.
package model {
  public interface IOne {
    function get name():String;
    function set name(value:String):void;
    function getNum():int;
  }
}

2、インタフェースに実装クラスを書きます.
package model {
  public class One implements IOne {
    protected var _name:String;
    public function Thing(name:String = "") {
      this.name = name;
    }
    public function getNum():int {
      throw new Error("  getNum  ");
    }
    public function set name(value:String):void {
      _name = value;
    }
    public function get name():String {
      return _name;
    }
  }
}

OneクラスはIOneインタフェースを実現した.nameプロパティはprotected修飾を使用し、サブクラスに十分なアクセス権があることを保証します.getNumが実装されていないと異常が放出されます.
3、新しいクラスTwoを作成してOneクラスを継承し、クラスTwoも統合されてIOneインタフェースを実現した.
package model {
	public class Two extends One {
		public var num:int;
		public var due:Date;
		public static const ONE_DAY_IN_MSEC:Number = 1000*60*60*24;
		
		public function Two(name:String = "") {
			super(name);
			due = new Date();
			due.setTime(due.getTime() + ONE_DAY_IN_MSEC);
		}
		public override function getNum():int {
			return num;
		}
	}
}

クラスTwoでoverrideを使用してOneのgetNumメソッドを書き換える.TwoはextendsをOneから継承します.
Javaを使用することに慣れている学生はabstract classを考えて上記の方法に取って代わるが,ActionScript 3には抽象クラスの概念はなく,ここでは変相の「抽象クラス」と理解できる.