面向物件是程式設計中的一門思想,是每個程式設計師應該掌握的基本功!無論是java,c,c++,c#,php等等都會用到面向物件。面向物件的三大特徵是:封裝,繼承,多型!
工具/原料
php;
mysql;
apache;
zendstudio
方法/步驟
定義一個介面!示例如下:
//定義介面
interface PersonInterface{
public function say($name);
public function walk($name,$parm);
}
WoMen類實現此介面;
//女人
class WoMen implements PersonInterface{
public function say($name){
echo "My name is {$name}.and I am a woman!!";
}
public function walk($name,$parm){
echo "{$name} walk {$parm} meters away.";
}
}
Man類實現此介面:
//男人
class Man implements PersonInterface{
public function say($name){
echo "My name is {$name}.and I am a man!!";
}
public function walk($name,$parm){
echo "{$name} walk {$parm} meters away.";
}
}
工廠模式,封裝:
//工廠模式
class PerFact{
private static $per=array();
public static function getInstance($type){
switch($type){
case 'woman':
self::$per[$type]= new WoMen();
break;
case 'man':
self::$per[$type]= new Man();
break;
default:
throw new Exception("型別不能為空");
}
return self::$per[$type];
}
}
測試:
//type型別
$type='man';
//名字
$name='Tom';
//獲取例項物件
$person= PerFact::getInstance($type);
//呼叫方法
$person->say($name);
執行結果: