継承2(extends)
イテル on 08 2, 2009

昨日に引き続き、継承を学習する。
静的メソッドと静的変数は継承されない
読んで字のごとくです。
public class iteru{
public static function hand(){
trace("iteru.hand()が呼び出されました。")
}
}
public class koIteru extends iteru{
public function koIteru(){
koIteru.hand(); //→エラーになる!!!
}
}
ということ。
インスタンスメソッドのオーバーライド
public class Iteru{
//スーパークラス内でのインスタンスメソッドの宣言
public function hand(){
trace ("Iteruのhandが呼び出された")
}
}
//クラスKoIteruのコード
//handをオーバーライドする
public class KoIteru extends Iteru{
override public function hand(){
trace("KoIteruのhandが呼び出された");
}
}
//使用すると・・・
var iteruInst = new Iteru();
iteruInst.hand(); //表示:Iteruのhandが呼び出された
var koIteruInst = new KoIteru();
koIteruInst.hand(); //表示:KoIteruのhandが呼び出された
というように、Iteruのhandを呼び出せばIteruのhand処理を実行し、
KoIteruを呼び出せば、Iteruのhandを修正した処理、
KoIteruのhand処理が実行される。
なにやら継承からレベルが何段階か上がってきて、
わかりにくくなってきた。
続きはまた明日。
Popular Posts
Recent Posts
Recent Comments
- hidakaya: ありがとうご
- Infrared Heaters: `,* I am really than
- cakePHPでデータベースのテーブルにフィールドを追加したときに発生した問題2 | ダリの雑記:WEBプログラム版: ... http://oneday.te
- ボタンを作りまくる « sakaiden: ... ●ボタンを
- tm3242: 詳細ありがと

