Flex 4継承シンプル実装
1504 ワード
Flex継承は「is-a」タイプの再利用であり、子の親への継承である.子は親のすべての属性を持ち、自分の属性を増やしたり、親の属性を書き換えたりすることができます.
1、テストインタフェースを書き出します.
2、インタフェースに実装クラスを書きます.
OneクラスはIOneインタフェースを実現した.nameプロパティはprotected修飾を使用し、サブクラスに十分なアクセス権があることを保証します.getNumが実装されていないと異常が放出されます.
3、新しいクラスTwoを作成してOneクラスを継承し、クラスTwoも統合されてIOneインタフェースを実現した.
クラスTwoでoverrideを使用してOneのgetNumメソッドを書き換える.TwoはextendsをOneから継承します.
Javaを使用することに慣れている学生はabstract classを考えて上記の方法に取って代わるが,ActionScript 3には抽象クラスの概念はなく,ここでは変相の「抽象クラス」と理解できる.
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には抽象クラスの概念はなく,ここでは変相の「抽象クラス」と理解できる.