PHP面向物件-介面。
阿新 • • 發佈:2019-02-02
<?php header('content-type:text/html;charset=utf-8'); //介面 interface JieKou{ public function getName(); } class JieKouShixian implements JieKou { public function getName(){ } } // 飛機可以飛,鳥也可以飛,飛螞蟻可以飛,超人可以飛,神仙可以飛 //介面: 它是一個特殊的類,但是名稱變成了interface //在介面中定義的只能是公共的抽象方法(沒有函式體部分),也可以有靜態常量 //介面採用的外掛式配置,可以隨意的匹配給任意一個類//類可以實現(implements)介面,類實現的介面可以有無數個 //當1個類實現了介面後,該介面的所有的方法必須在該類中實現 interface Fly{ public function fly(); } interface JiaYou{ public function jiayou(); } class FeiJi implements Fly, JiaYou{ public function jiayou(){ echo '飛機需要加油才能飛行'; } public function fly(){ echo '飛機可以飛'; } } class Niao implementsFly{ public function fly(){ echo '鳥可以飛'; } } //飛行要佔用空中通道,而通道是由空中警察來管理,那麼所有能夠飛行的物體都要被空警來管理 class KongJing{ private $name = '空中警察'; public function FeiXingGuanLi($fly){ //instanceof 運算子,它用於型別判斷 //判斷某個引數物件是否屬於某個類 if($fly instanceof FeiJi){ echo '現在是飛機,'; }elseif($fly instanceof Niao){ echo'現在是鳥,'; }else{ echo '什麼也不是,';; } $fly->fly(); echo ','; echo $this->name.'管理飛行通道'; } } $kj = new KongJing(); $kj->FeiXingGuanLi(new FeiJi()); echo '<br><br>'; $kj->FeiXingGuanLi(new Niao()); //電腦可以上網,手機可以上網