国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 網站 > 建站經驗 > 正文

PHP多態代碼實例

2024-04-25 20:37:44
字體:
來源:轉載
供稿:網友

多態定義:只關心一個接口或者基類,而不關心一個對象的具體類。(同一類型,不同結果)

這里兩個例子:

第一個,我們發現,基類定義了標準,子類進行了自我規則的實現。這是多態的一個要求。同時,這是滿足重寫;實際上這是不同類的不同表現;沒有嚴格滿足一個接口,或者基類編程。因為你調用的時候不是 stu->showGrade() 而是各自自己的方法;

class stu{

public function showGrade(){

echo "base class";

}

}

class xiaomin extends stu{

public function showGrade(){

echo "is son show 80";

}

}

class xiaoli extends stu{

public function showGrade(){

echo "is son show 60";

}

}

function doit($obj){

if(get_class($obj) != "stu"){

$obj->showGrade();

}

}

doit(new xiaoli());

doit(new xiaomin());

第二個例子:dovoice 參數規定了$obj 為animal,意識就是用接口 接受了 實現類對象。了向上轉型。這就符合同一類型,不同結果了,這就是多態;

實際上在Java中 會是 animal a = new dog();這樣子的;因為PHP 是若類型語言。沒有對象轉型機制。

interface animal{

public function voice();

}

class cat implements animal{

public function voice(){

echo "miao~~~<br>";

}

}

class dog implements animal{

public function voice(){

echo "wang ~~~<br>";

}

}

function dovoice(animal $obj){

$obj->voice();

}

dovoice(new dog());

dovoice(new cat());

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 石渠县| 灵武市| 重庆市| 桂林市| 密云县| 利津县| 长葛市| 自贡市| 高清| 河津市| 江永县| 仪陇县| 龙门县| 托里县| 堆龙德庆县| 湟中县| 敦煌市| 中卫市| 铜陵市| 赫章县| 荔波县| 阿克| 库车县| 河北区| 武川县| 静乐县| 青铜峡市| 翁牛特旗| 新密市| 津南区| 辽中县| 文山县| 巢湖市| 阿瓦提县| 大城县| 满洲里市| 盐边县| 通海县| 沧州市| 文水县| 高雄市|