国产探花免费观看_亚洲丰满少妇自慰呻吟_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ā)表

圖片精選

主站蜘蛛池模板: 长寿区| 新乐市| 界首市| 万宁市| 伊宁县| 陕西省| 修武县| 黄山市| 鹤峰县| 治多县| 武穴市| 广东省| 辰溪县| 邳州市| 龙南县| 平遥县| 措美县| 潞西市| 周宁县| 文安县| 德昌县| 高邮市| 璧山县| 唐山市| 铜鼓县| 石城县| 德钦县| 安塞县| 五常市| 白水县| 宜宾市| 会理县| 荥经县| 安福县| 临夏县| 望城县| 防城港市| 苏尼特右旗| 洛隆县| 承德县| 呼玛县|