8月 262011
 

php5から抽象クラスというものが追加されました。
abstractをつけてクラス定義しますが、
抽象クラスではメソッドの具体的処理は記述できません。
必ず継承したサブクラスの中でオーバーライドして処理を記述する約束です。
抽象クラスUserのメソッドprint_hello()には何も記載せず、
継承したクラスGuestでオーバーライドしてprint_hello()を記述します。
クラスGuestを使用する場合には、
必ずnew演算子でインスタンスを生成して使用します。

<?php
abstract class User {
 protected $name = NULL;
 abstract protected function print_hello();
}
class Guest extends User{
 protected $name = “ゲスト”;
 public function print_hello(){
 print $this->name;
 print “さん。はじめまして。”;
 }
}

$newuser = new Guest();
$newuser->print_hello();

?>

Sorry, the comment form is closed at this time.