復(fù)制代碼 代碼如下:
<?php
class painter{//定義油漆工類(lèi)
public function paintbrush(){//定義油漆工動(dòng)作
echo "油漆工正在刷漆!/n";
}
}
class typist{//定義打字員類(lèi)
public function typed(){//定義打字員工作
echo "打字員正在打字!/n";
}
}
function printworking($obj){//定義處理類(lèi)
if($obj instanceof painter){//若對(duì)象是油漆工類(lèi),則顯示油漆工動(dòng)作
$obj->paintbrush();
}elseif($obj instanceof typist){//若對(duì)象是打字員類(lèi),則顯示打字員動(dòng)作
$obj->typed();
}else{//若非以上類(lèi),則顯示出錯(cuò)信息
echo "Error: 對(duì)象錯(cuò)誤!";
}
}
printworking(new painter());//顯示員工工作
printworking(new typist());//顯示員工工作
?>
復(fù)制代碼 代碼如下:
<?php
class employee{//定義員工父類(lèi)
protected function working(){//定義員工工作,需要在子類(lèi)的實(shí)現(xiàn)
echo "本方法需要在子類(lèi)中重載!";
}
}
class painter extends employee{//定義油漆工類(lèi)
public function working(){//實(shí)現(xiàn)繼承的工作方法
echo "油漆工正在刷漆!/n";
}
}
class typist extends employee{//定義打字員類(lèi)
public function working(){
echo "打字員正在打字!/n";
}
}
class manager extends employee{//定義經(jīng)理類(lèi)
public function working(){
echo "經(jīng)理正在開(kāi)會(huì)!";
}
}
function printworking($obj){//定義處理方法
if($obj instanceof employee){//若是員工對(duì)象,則顯示其工作狀態(tài)
$obj->working();
}else{//否則顯示錯(cuò)誤信息
echo "Error: 對(duì)象錯(cuò)誤!";
}
}
printworking(new painter());//顯示油漆工的工作
printworking(new typist());//顯示打字員的工作
printworking(new manager());//顯示經(jīng)理的工作
?>
新聞熱點(diǎn)
疑難解答