摘要:對抽象類的使用是通過關(guān)鍵字。抽象類中可以聲明各種類型成員變量,實現(xiàn)數(shù)據(jù)的封裝。接口中的方法默認(rèn)都是類型的,而抽象類中的方法可以使用來修飾。抽象類還是接口如果要創(chuàng)建一個模型,這個模型將由一些緊密相關(guān)的對象采用,就可以使用抽象類。
區(qū)別:
1、對接口的使用是通過關(guān)鍵字implements。對抽象類的使用是通過關(guān)鍵字extends。當(dāng)然接口也可以通過關(guān)鍵字extends繼承。
2、接口中不可以聲明成員變量(包括類靜態(tài)變量),但是可以聲明類常量。抽象類中可以聲明各種類型成員變量,實現(xiàn)數(shù)據(jù)的封裝。(另JAVA接口中的成員變量都要聲明為public static final類型)
3、接口沒有構(gòu)造函數(shù),抽象類可以有構(gòu)造函數(shù)。
4、接口中的方法默認(rèn)都是public類型的,而抽象類中的方法可以使用private,protected,public來修飾。
5、一個類可以同時實現(xiàn)多個接口,但一個類只能繼承于一個抽象類。
如果要創(chuàng)建一個模型,這個模型將由一些緊密相關(guān)的對象采用,就可以使用抽象類。如果要創(chuàng)建將由一些不相關(guān)對象采用的功能,就使用接口。如果必須從多個來源繼承行為,就使用接口。如果知道所有類都會共享一個公共的行為實現(xiàn),就使用抽象類,并在其中實現(xiàn)該行為。
"; } 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"; 此處接口定義中不能包含靜態(tài)變量 const iVar3="iVar3"; function iMeth1(); } Class ISon implements IFather { function iMeth1() { echo "iMeth1...
"; } } $is=new ISon(); echo IFather::iVar3; ?>
zzy
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/29475.html
摘要:中的抽象類和接口有什么區(qū)別呢我們來看下具體的說明。而抽象類中抽象方法前則必須加上表示顯示聲明為抽象方法。抽象類不能被直接實例化。詳情請看原文中的抽象類和接口注本文為轉(zhuǎn)載,原文地址中的抽象類和接口 PHP中的 抽象類(abstract class)和 接口(interface)有什么區(qū)別呢?我們來看下具體的說明。 一、 抽象類和接口的異同 1.相同點: (1)兩者都是抽象類,都不能實例化...
摘要:在設(shè)計模式中,抽象類不能夠被實例化初始化,但是可以依靠具體類的繼承來實現(xiàn)。對于大型項目來說,對象都是由基本的抽象類繼承實現(xiàn),而這些類的方法通常都由接口來定義。 原文地址:PHP設(shè)計模式(二):抽象類和接口 Introduction 對于編程來說,對事物的抽象是一個老生常談的話題,抽象問題更利于面向?qū)ο缶幊桃约俺绦蛟O(shè)計模式。和C/C++,Java,Python等語言一樣,PHP也支持面向...
摘要:二面向?qū)ο笥惺裁刺卣髅嫦驅(qū)ο蟮闹饕卣饔谐橄罄^承封裝和多態(tài)。析構(gòu)函數(shù)析構(gòu)函數(shù)是在引入的,它的作用與調(diào)用時機和構(gòu)造函數(shù)剛好相反,它在對象被銷毀時自動執(zhí)行。 PHP面試專欄正式起更,每周一、三、五更新,提供最好最優(yōu)質(zhì)的PHP面試內(nèi)容。PHP中面向?qū)ο蟪?嫉闹R點有以下7點,我將會從以下幾點進行詳細(xì)介紹說明,幫助你更好的應(yīng)對PHP面試??嫉拿嫦?qū)ο笙嚓P(guān)的知識點和考題。整個面向?qū)ο笪恼碌慕Y(jié)構(gòu)涉...
摘要:繼上一篇面試??純?nèi)容之面向?qū)ο蟀l(fā)表后,今天更新,需要的可以直接點擊文字進行跳轉(zhuǎn)獲取。析構(gòu)函數(shù),當(dāng)對象被銷毀時調(diào)用。 PHP面試專欄正式起更,每周一、三、五更新,提供最好最優(yōu)質(zhì)的PHP面試內(nèi)容。繼上一篇PHP面試??純?nèi)容之面向?qū)ο螅?)發(fā)表后,今天更新(2),需要(1)的可以直接點擊文字進行跳轉(zhuǎn)獲取。整個面向?qū)ο笪恼碌慕Y(jié)構(gòu)涉及的內(nèi)容模塊有: 一、面向?qū)ο笈c面向過程有什么區(qū)別?二、面向?qū)?..
摘要:面試專欄正式起更,每周一三五更新,提供最好最優(yōu)質(zhì)的面試內(nèi)容。繼上一篇面試??純?nèi)容之面向?qū)ο蟀l(fā)表后,今天更新面向?qū)ο蟮淖詈笠黄?。面向?qū)ο蟮闹饕卣鳛榉庋b繼承多態(tài)。為了提高內(nèi)聚性減少引起變化,單一原則是低耦合高內(nèi)聚的面向原則上的引申。 PHP面試專欄正式起更,每周一、三、五更新,提供最好最優(yōu)質(zhì)的PHP面試內(nèi)容。繼上一篇PHP面試??純?nèi)容之面向?qū)ο螅?)發(fā)表后,今天更新面向?qū)ο蟮淖詈笠黄?...
閱讀 2289·2021-09-30 09:48
閱讀 3666·2021-09-24 10:27
閱讀 1830·2021-09-22 15:32
閱讀 2060·2021-08-09 13:44
閱讀 3610·2019-08-30 15:55
閱讀 1084·2019-08-29 17:12
閱讀 2090·2019-08-29 17:05
閱讀 2949·2019-08-29 13:43