PHP中抽象類別、介面的區別與選擇分析,php抽象
本文執行個體分析了PHP中抽象類別、介面的區別與選擇。分享給大家供大家參考,具體如下:
區別:
1、對介面的使用是通過關鍵字implements。對抽象類別的使用是通過關鍵字extends。當然介面也可以通過關鍵字extends繼承。
2、介面中不可以聲明成員變數(包括類靜態變數),但是可以聲明類常量。抽象類別中可以聲明各種類型成員變數,實現資料的封裝。(另JAVA介面中的成員變數都要聲明為public static final類型)
<?phpabstract class Father { function meth1() { echo "meth1...
"; } abstract function meth2(); public $var1="var1"; public static $var2="var2"; const Var3="Var3";}class Son extends Father { function meth2() { echo "meth2 of Son...
"; }}$s=new Son();echo $s->var1."
";echo Father::$var2."
";echo Father::Var3."
";Interface IFather { //public $iVar1="iVar1"; 此處介面定義中不能包含成員變數 //public static $iVar2="iVar2"; 此處介面定義中不能包含靜態變數 const iVar3="iVar3"; function iMeth1();}Class ISon implements IFather { function iMeth1() { echo "iMeth1...
"; }}$is=new ISon();echo IFather::iVar3;?>
3、介面沒有建構函式,抽象類別可以有建構函式。
4、介面中的方法預設都是public類型的,而抽象類別中的方法可以使用private,protected,public來修飾。
5、一個類可以同時實現多個介面,但一個類只能繼承於一個抽象類別。
抽象類別還是介面
1. 如果要建立一個模型,這個模型將由一些緊密相關的對象採用,就可以使用抽象類別。如果要建立將由一些不相關對象採用的功能,就使用介面。
2. 如果必須從多個來源繼承行為,就使用介面。
3. 如果知道所有類都會共用一個公用的行為實現,就使用抽象類別,並在其中實現該行為。
更多關於PHP相關內容感興趣的讀者可查看本站專題:《PHP網路編程技巧總結》、《PHP基本文法入門教程》、《php操作office文檔技巧總結(包括word,excel,access,ppt)》、《php日期與時間用法總結》、《php物件導向程式設計入門教程》、《php字串(string)用法總結》、《php+mysql資料庫操作入門教程》及《php常見資料庫操作技巧匯總》
希望本文所述對大家PHP程式設計有所協助。
您可能感興趣的文章:
- PHP 物件導向程式設計(oop)學習筆記(一) - 抽象類別、對象介面、instanceof 和契約式編程
- PHP OPP機制和模式簡介(抽象類別、介面和契約式編程)
- php介面和抽象類別使用樣本詳解
- 淺析php中抽象類別和介面的概念以及區別
- 深入分析php中介面與抽象類別的區別
- PHP中用介面、抽象類別、普通基類實現“面向介面編程”與“耦合方法”簡述
- php 介面類與抽象類別的實際作用
http://www.bkjia.com/PHPjc/1117084.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/1117084.htmlTechArticlePHP中抽象類別、介面的區別與選擇分析,php抽象 本文執行個體分析了PHP中抽象類別、介面的區別與選擇。分享給大家供大家參考,具體如下: 區別...