激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

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

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程序設計有所幫助。

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 九九热在线视频观看这里只有精品 | 久久9色| 91网站在线观看视频 | 日本成年免费网站 | 在线观看国产网站 | 中文字幕在线观看精品 | 国产一区二区三区视频免费 | 国产一级一区二区三区 | 免费看真人a一级毛片 | 女人叉开腿让男人桶 | 免费网址黄 | 奇米影视奇米色777欧美 | 成人做爰高潮片免费视频美国 | 国产精品成人久久 | 久久久久久久.comav | 欧美va亚洲 | 99麻豆久久久国产精品免费 | 久久久精品视频免费看 | 神马福利网 | 久久艹逼| 国产精品久久久久网站 | 涩涩伊人| 欧美一页 | 香蕉视频1024 | 国产精品久久久免费观看 | 国产一国产精品一级毛片 | 欧美一级电影网站 | 一区二区三区四区国产精品视频 | 欧美成人免费小视频 | 久久国产精品无码网站 | 干色视频 | 久久99亚洲精品 | 99精品国产一区二区三区 | 欧美片一区二区 | 亚洲成人高清在线观看 | 久久免费精品视频 | 免费日韩片 | 亚欧美一区二区 | 一级毛片真人免费播放视频 | 九九精品视频免费 | h视频在线免费观看 |