リプタクのもう覚えられません
Google
Web サイト内
topmemo ▶ 継承したメソッドを再定義

ActionScript

継承したメソッドを再定義

オーバーライド
継承したメソッドをサブクラス側で「override」の属性で再定義することができる。「super」ステートメントでスーパークラスの再定義前のメソッドを呼び出すことも可能。又、スーパークラス側で「final」属性を定義すると、サブクラス側では再定義できなくなる。


メソッド再定義の構文(サブクラス)

package {
	public class クラス名 extends スーパクラス名 {

		//スーパークラスのメソッドをオーバーライド
		override public function スーパークラスと同じメソッド名(同引数) {
			//再定義したいメソッド;
		}
	}
}



メソッド再定義禁止構文(スーパークラス)

package {
	public class クラス名 {

		//オーバーライド禁止
        final public function メソッド名(引数) {
			//オーバーライドさせない処理
		}
	}
}



スーパークラスのサンプル

package {
	public class TestSuper {

		public function superMethod() {
			trace("スーパークラスのメソッドを実行");
		}
	}
}



サブクラスのサンプル

package {
	public class TestSub extends TestSuper {

		//スーパークラスのメソッドをオーバーライド
		override public function superMethod() {
			trace("サブクラスの再定義メソッドを実行");
		}
		
		//オーバーライド前のメソッドを呼び出し
		public function oldMethod() {
			super.superMethod();
		}
	}
}



メソッド再定義の確認サンプル(アクションフレーム側)

var sample:TestSub = new TestSub();

//オーバーライドメソッド実行
sample.superMethod();//出力 サブクラスの再定義メソッドを実行

//オーバーライド前のメソッド実行
sample.oldMethod();//出力 スーパークラスのメソッドを実行
last update 2009.7.18
参考・出典等
「プロとして恥ずかしくないActionScript3.0の大原則」
「標準ActionScript3.0入門 吉岡梅著」
「ActionScript3.0ポケットリファレンス 馬場ぎんが著」

▲page top

topmemogalleryblogtestaboutlinksmail
Copylight(C)2008-2009 Riptac. All Rights Reserved.