對介面的使用是通過關鍵字implements。對抽象類的使用是通過關鍵字extends。當然介面也可以通過關鍵字extends繼承。
介面中不可以宣告成員變數(包括類靜態變數),但是可以宣告類常量。抽象類中可以宣告各種型別成員變數,實現資料的封裝。
介面沒有建構函式,抽象類可以有建構函式。
介面中的方法預設都是public型別的,而抽象類中的方法可以使用private,protected,public來修飾。
乙個類可以同時實現多個介面,但是乙個類只能繼承乙個抽象類。
<?php
//抽象類
abstract class father
abstract function meth2();
public $var1="var1";
public static $var2="var2";
const var3="var3";
}//繼承抽象類
class son extends father
}$s=new son();
echo $s->var1."
";echo father::$var2."
";echo father::var3."";
//介面
inte***ce ifather
//繼承介面(單繼承)
class ison implements ifather
}$is=new ison();
echo ifather::ivar3;
//介面
inte***ce father
inte***ce mother
inte***ce fam extends father,mother
//多繼承介面
class test implements fam
function shuchu()
function cook($name)
}$t=new test();
$t->shuchu();
$t->dayin("小強");
$t->cook("媽媽");
?>
抽象方法 抽象類 介面 介面和抽象類的區別
某個父類只知道子類因該包含什麼樣的方法,無法知道這些子類如何實現這些方法。抽象類包含該方法但沒有對該方法的具體實現。有抽象方法的類只能被定義為抽象類,抽象類裡可以沒有抽象方法。抽象方法和抽象類的規則 public abstract class shape private string color p...
php抽象類和介面
介面 使用介面,你可以指定某個類必須實現那些方法,但是不需要定義這些方法的具體內容,我們可以通過inte ce來定義乙個介面,就像定義標準類一樣,但其中定義所有的方法都是空的,介面中定義的所有的方法都必須是public 實現乙個介面,可以使用implement操作符,類中必須實現介面中定義的所用的方...
php 介面和抽象類
php 介面和抽象類 介面 inte ce 在介面內定義方法,可不提供具體的 實現 作用 提供乙個規範,如果我們知道乙個類實現了某個介面,那麼就知道了可以呼叫該介面的那些方法,我們只需要知道這些就夠了。當有很多人一起開發乙個專案時,可能都會去呼叫別人寫的一些類,我怎麼知道他的某個功能的實現方法是怎麼...