[AS][自分用]ActionScript3.0デザインパターンの読書メモ(2)
-インターフェイス
インターフェイスで定義するメソッドは、パブリックメソッドのみ
(修飾詞は指定できない。privateとか)
パブリックメソッドにはgetter/setterも含む。
インターフェイス
package { public interface IPlus { //myPlus関数定義 function myPlus(number1:Number , number2:Number):Number; //ゲッターを定義 function get myNumber():Number; //function set myNumber(value:Number):void; } }
クラス
//IPlusを実装したクラス package { public class Plus implements IPlus { private var _myNumber:Number; public function Plus() { var num1:Number = 10; var num2:Number = 5; _myNumber = 10; trace(myPlus(myNumber, num2)); } //myPlus関数が無いとエラー public function myPlus(num1:Number, num2:Number):Number{ return num1 + num2; } //get myNumber()ゲッターが無いとエラー public function get myNumber():Number { return _myNumber; } } }
また継承することでもインターフェースも受け継がれる。(実装も継承される)
その際は抽象クラスという概念を持ったクラスを利用する。
抽象クラスはインスタンスを持てないクラスという意味。
ただしAS3では抽象クラスを管理するルールがないので自分で管理する。
Tweet