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

首頁 > 開發 > PHP > 正文

PHP多態代碼實例

2024-05-04 23:36:52
字體:
來源:轉載
供稿:網友

這篇文章主要介紹了PHP多態代碼實例,本文用2個代碼實例來演示PHP中的多態,需要的朋友可以參考下

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

這里兩個例子:

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

 

 
  1. class stu{ 
  2.  
  3. public function showGrade(){ 
  4. echo "base class";  
  5.  
  6.  
  7.  
  8. class xiaomin extends stu{ 
  9.  
  10. public function showGrade(){ 
  11. echo "is son show 80";  
  12. }  
  13.  
  14. class xiaoli extends stu{ 
  15.  
  16. public function showGrade(){ 
  17. echo "is son show 60";  
  18. }  
  19.  
  20. function doit($obj){ 
  21.  
  22. if(get_class($obj) != "stu"){ 
  23. $obj->showGrade(); 
  24.  
  25.  
  26. doit(new xiaoli()); 
  27. doit(new xiaomin()); 

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

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

 

 
  1. interface animal{ 
  2. public function voice(); 
  3.  
  4. class cat implements animal{ 
  5. public function voice(){ 
  6. echo "miao~~~<br>"
  7.  
  8. class dog implements animal{ 
  9. public function voice(){ 
  10. echo "wang ~~~<br>"
  11.  
  12. function dovoice(animal $obj){ 
  13. $obj->voice(); 
  14.  
  15.  
  16. dovoice(new dog()); 
  17. dovoice(new cat()); 

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 五华县| 吉首市| 格尔木市| 抚远县| 化德县| 蕉岭县| 旌德县| 高雄市| 呼和浩特市| 平远县| 桓仁| 永和县| 依兰县| 池州市| 阿拉善盟| 鹤岗市| 永春县| 屏东市| 花莲县| 平乐县| 天台县| 桓仁| 安吉县| 巫溪县| 永修县| 旺苍县| 石景山区| 榆中县| 云林县| 灌云县| 石楼县| 星座| 平定县| 讷河市| 蓝田县| 阿坝县| 成安县| 辉南县| 鄄城县| 齐河县| 秭归县|