類的三大特性,封裝、繼承、多型,前兩個比較簡單,一般不會問到,多型則是考察最多的,一般出現在筆試中,
描述
多型性是指同一操作作用于不同的類的實體上可執行不同的邏輯,
多型是指 執行不同的邏輯 ,很多資料上介紹這里時總是說
“同一操作作用于不同的類的實體上時,會獲得不同的結果,”,當年看到時就很困惑,一個函式給不同引數的時候它的結果也是不同的,這不是理所當然的嘛,其他它根本不在乎結果是否相同,而是強調執行不同的邏輯,即走到不同的方法體內,
示例
interface animal{
function can();
}
class cat implements animal{
function can(){
echo "I can climb";
}
}
class dog implements animal{
function can(){
echo "I can swim";
}
}
function work($obj){
if($obj instanceof animal){
$obj->can();
}else{
echo 'no can';
}
}
work(new cat());
work(new dog());
運行work時會根據傳入引數的不同,選擇執行不同的can方法,
上邊的父類是介面,對于介面與普通類同樣適用,
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/73413.html
標籤:PHP
