一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - PHP教程 - PHP抽象類基本用法示例

PHP抽象類基本用法示例

2019-07-08 12:45徐三少北 PHP教程

這篇文章主要介紹了PHP抽象類基本用法,結合實例形式分析了php抽象類的概念、原理、定義、使用方法及相關操作注意事項,代碼注釋包含較為詳盡的說明信息,需要的朋友可以參考下

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

<?php
//抽象類像一個模板,供子類擴展(重寫),抽象類里有普通方法(有方法體),也有抽象方法,其中抽象方法沒有方法體,且以分號結束。
//只要有一個抽象方法,那么此類必須定義為抽象類。
//抽象類不能創建自己的實例,在試圖創建抽象類對象時,會產生一個致使錯誤。
//在子類里實現抽象類的方法,并且可見性要等于、高于抽象方法的可見性,抽象類(public|protected|private),子類(public|public,protected|有致命錯誤,且不能被繼承)。
//抽象類不能定義私有方法,可以定義私有屬性。
//如果子類沒有擴展(重寫)抽象類的抽象方法,會產生致使錯誤。
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(){//如果子類沒有擴展(重寫)抽象類的抽象方法,會產生致使錯誤。
    echo "<p>$this->name is working</p>";
  }*/
}
//$obj1 = new Employees();//創建抽象類對象時,會產生一個致使錯誤。
$obj2 = new Managers('e2');
//$obj2->work();

運行上述代碼,會提示如下錯誤信息:

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

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

<?php
//抽象類像一個模板,供子類擴展(重寫),抽象類里有普通方法(有方法體),也有抽象方法,其中抽象方法沒有方法體,且以分號結束。
//只要有一個抽象方法,那么此類必須定義為抽象類。
//抽象類不能創建自己的實例,在試圖創建抽象類對象時,會產生一個致使錯誤。
//在子類里實現抽象類的方法,并且可見性要等于、高于抽象方法的可見性,抽象類(public|protected|private),子類(public|public,protected|有致命錯誤,且不能被繼承)。
//抽象類不能定義私有方法,可以定義私有屬性。
//如果子類沒有擴展(重寫)抽象類的抽象方法,會產生致使錯誤。
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(){//如果子類沒有擴展(重寫)抽象類的抽象方法,會產生致使錯誤。
    echo "<p>$this->name is working</p>";
  }
}
//$obj1 = new Employees();//創建抽象類對象時,會產生一個致使錯誤。
$obj2 = new Managers('e2');
$obj2->work();

測試運行結果:

e2 is working

希望本文所述對大家PHP程序設計有所幫助。

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 亚洲AV综合99一二三四区 | 国产视频a区 | 男人天堂网站在线 | sese在线播放 | 精品久久伦理中文字幕 | chinese国产人妖hd| 99热这里有精品 | 亚洲国产AV一区二区三区四区 | bt天堂在线最新版在线 | 日本动漫啪啪动画片mv | 深夜激情网站 | 国产免费视频 | 日韩欧美中文字幕一区 | 午夜精品免费 | 被黑人同学彻底征服全文小说阅读 | 国模孕妇季玥337p人体 | 精品国产国产综合精品 | 国产精品资源在线观看 | 国产伦精品一区二区三区免费观看 | 国产精品日韩欧美一区二区三区 | 都市风流贵妇激情 | 三级伦理在线播放 | 嫩草成人国产精品 | 亚洲精品有码在线观看 | 亚洲精品中文字幕第一区 | 欧美一区二区三区综合色视频 | 精品久久久久久久久免费影院 | 欧洲肥女大肥臀tv | 日本高清中文字幕一区二区三区 | 草草国产成人免费视频 | 手机看片1024日韩 | 99九九国产精品免费视频 | 日本一区二区免费在线 | 亚洲一二三区视频 | 天堂在线中文字幕 | 国产第一综合另类色区奇米 | 果冻传媒天美传媒乌鸦传媒 | 欧美人与牲动交xxx 欧美人妖另类性hd 欧美人人干 | 深夜福利影院 | 成人免费国产欧美日韩你懂的 | 久久精品一区 |