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

首頁(yè) > 語(yǔ)言 > PHP > 正文

PHP抽象類(lèi)基本用法示例

2024-05-05 00:06:05
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

本文實(shí)例講述了PHP抽象類(lèi)基本用法。分享給大家供大家參考,具體如下:

<?php//抽象類(lèi)像一個(gè)模板,供子類(lèi)擴(kuò)展(重寫(xiě)),抽象類(lèi)里有普通方法(有方法體),也有抽象方法,其中抽象方法沒(méi)有方法體,且以分號(hào)結(jié)束。//只要有一個(gè)抽象方法,那么此類(lèi)必須定義為抽象類(lèi)。//抽象類(lèi)不能創(chuàng)建自己的實(shí)例,在試圖創(chuàng)建抽象類(lèi)對(duì)象時(shí),會(huì)產(chǎn)生一個(gè)致使錯(cuò)誤。//在子類(lèi)里實(shí)現(xiàn)抽象類(lèi)的方法,并且可見(jiàn)性要等于、高于抽象方法的可見(jiàn)性,抽象類(lèi)(public|protected|private),子類(lèi)(public|public,protected|有致命錯(cuò)誤,且不能被繼承)。//抽象類(lèi)不能定義私有方法,可以定義私有屬性。//如果子類(lèi)沒(méi)有擴(kuò)展(重寫(xiě))抽象類(lèi)的抽象方法,會(huì)產(chǎn)生致使錯(cuò)誤。abstract class Employees{  protected $name = null;  function __construct($nameStr){    $this->name = $nameStr;  }  abstract public function work();  public function work1(){    echo "<p>$this->name</p>";  }  //function __destruct(){}}class Managers extends Employees{  public function __construct($nameStr){    parent::__construct($nameStr);  }  /*public function work(){//如果子類(lèi)沒(méi)有擴(kuò)展(重寫(xiě))抽象類(lèi)的抽象方法,會(huì)產(chǎn)生致使錯(cuò)誤。    echo "<p>$this->name is working</p>";  }*/}//$obj1 = new Employees();//創(chuàng)建抽象類(lèi)對(duì)象時(shí),會(huì)產(chǎn)生一個(gè)致使錯(cuò)誤。$obj2 = new Managers('e2');//$obj2->work();

運(yùn)行上述代碼,會(huì)提示如下錯(cuò)誤信息:

Fatal error: Class Managers contains 1 abstract method and must therefore be declared abstract or implement the remaining methods (Employees::work) in D:/phproot/test/ClassDemo.php on line 26

將錯(cuò)誤提示位置及末尾位置代碼注釋刪除后,改為如下代碼:

<?php//抽象類(lèi)像一個(gè)模板,供子類(lèi)擴(kuò)展(重寫(xiě)),抽象類(lèi)里有普通方法(有方法體),也有抽象方法,其中抽象方法沒(méi)有方法體,且以分號(hào)結(jié)束。//只要有一個(gè)抽象方法,那么此類(lèi)必須定義為抽象類(lèi)。//抽象類(lèi)不能創(chuàng)建自己的實(shí)例,在試圖創(chuàng)建抽象類(lèi)對(duì)象時(shí),會(huì)產(chǎn)生一個(gè)致使錯(cuò)誤。//在子類(lèi)里實(shí)現(xiàn)抽象類(lèi)的方法,并且可見(jiàn)性要等于、高于抽象方法的可見(jiàn)性,抽象類(lèi)(public|protected|private),子類(lèi)(public|public,protected|有致命錯(cuò)誤,且不能被繼承)。//抽象類(lèi)不能定義私有方法,可以定義私有屬性。//如果子類(lèi)沒(méi)有擴(kuò)展(重寫(xiě))抽象類(lèi)的抽象方法,會(huì)產(chǎn)生致使錯(cuò)誤。abstract class Employees{  protected $name = null;  function __construct($nameStr){    $this->name = $nameStr;  }  abstract public function work();  public function work1(){    echo "<p>$this->name</p>";  }  //function __destruct(){}}class Managers extends Employees{  public function __construct($nameStr){    parent::__construct($nameStr);  }  public function work(){//如果子類(lèi)沒(méi)有擴(kuò)展(重寫(xiě))抽象類(lèi)的抽象方法,會(huì)產(chǎn)生致使錯(cuò)誤。    echo "<p>$this->name is working</p>";  }}//$obj1 = new Employees();//創(chuàng)建抽象類(lèi)對(duì)象時(shí),會(huì)產(chǎn)生一個(gè)致使錯(cuò)誤。$obj2 = new Managers('e2');$obj2->work();

測(cè)試運(yùn)行結(jié)果:

e2 is working

希望本文所述對(duì)大家PHP程序設(shè)計(jì)有所幫助。


注:相關(guān)教程知識(shí)閱讀請(qǐng)移步到PHP教程頻道。
發(fā)表評(píng)論 共有條評(píng)論
用戶(hù)名: 密碼:
驗(yàn)證碼: 匿名發(fā)表

圖片精選

主站蜘蛛池模板: 白城市| 石棉县| 无锡市| 临朐县| 潮安县| 郧西县| 长治县| 兴文县| 甘南县| 华阴市| 永州市| 秦皇岛市| 泽库县| 公安县| 大方县| 西城区| 湘潭市| 巴东县| 开平市| 蒙城县| 枞阳县| 香河县| 仁布县| 铜川市| 临汾市| 澎湖县| 什邡市| 赤水市| 永州市| 栾川县| 曲周县| 犍为县| 郯城县| 永安市| 边坝县| 樟树市| 商城县| 崇左市| 栖霞市| 临武县| 南澳县|