在面向?qū)ο螅∣OP)語(yǔ)言中,一個(gè)類(lèi)可以有一個(gè)或多個(gè)子類(lèi),而每個(gè)類(lèi)都有至少一個(gè)公有方法作為外部代碼訪(fǎng)問(wèn)的接口。而抽象方法就是為了方便繼承而引入的,現(xiàn)在來(lái)看一下抽象類(lèi)和抽象方法分別是如何定義以及他們的特點(diǎn)。
讓客戶(hù)滿(mǎn)意是我們工作的目標(biāo),不斷超越客戶(hù)的期望值來(lái)自于我們對(duì)這個(gè)行業(yè)的熱愛(ài)。我們立志把好的技術(shù)通過(guò)有效、簡(jiǎn)單的方式提供給客戶(hù),將通過(guò)不懈努力成為客戶(hù)在信息化領(lǐng)域值得信任、有價(jià)值的長(zhǎng)期合作伙伴,公司提供的服務(wù)項(xiàng)目有:域名注冊(cè)、虛擬空間、營(yíng)銷(xiāo)軟件、網(wǎng)站建設(shè)、個(gè)舊網(wǎng)站維護(hù)、網(wǎng)站推廣。什么是抽象方法?
我們?cè)陬?lèi)里面定義的只有方法名沒(méi)有方法體的方法就是抽象方法,所謂沒(méi)有方法體就是在方法聲明的時(shí)候沒(méi)有大括號(hào)以及其中的內(nèi)容,而是直接聲明時(shí)在方法名后加上分號(hào)結(jié)束,另外在聲明抽象方法時(shí)還要加一個(gè)關(guān)鍵字"abstract"來(lái)修飾。
1、抽象關(guān)鍵字 :abstract
抽象就是無(wú)法確切的說(shuō)明,但又有一定的概念或者名稱(chēng),在PHP中聲明一個(gè)抽象類(lèi)或者方法我們需要使用adstract關(guān)鍵字
2、抽象方法和抽象類(lèi)的定義
一個(gè)類(lèi)中至少有一個(gè)方法是抽象的,我們稱(chēng)之為抽象類(lèi)。所以如果定義抽象類(lèi)首先定義抽象方法。
1、類(lèi)中至少有一個(gè)抽象方法
2、抽象方法不允許有{ }
3、抽象方法前面必須要加abstract
如:
#抽象類(lèi) abstract class class1{ #抽象方法 abstract function fun1(); …… }3、抽象類(lèi)和方法使用規(guī)則
抽象類(lèi)的幾個(gè)特點(diǎn):
1、不能被實(shí)例化,只能被繼承
2、繼承的派生類(lèi)當(dāng)中要把所有抽象方法重載才能實(shí)例化
#定義抽象類(lèi) abstract class User{ #定義抽象方法 abstract protected function getUser(); #普通方法 public function print_content(){ #調(diào)用抽象方法 print $this->getUser(); } } #繼承抽象類(lèi) class vipUser extends User{ #重寫(xiě)抽象方法 protected function getUser(){ return "抽象類(lèi)與抽象方法https://blog.51cto.com"; } } #實(shí)例化子類(lèi) $user = new vipUser(); #調(diào)用基類(lèi)普通方法 $user->print_content();注意:抽象類(lèi)繼承另外一個(gè)抽象類(lèi)時(shí)(目的是對(duì)該抽象類(lèi)的擴(kuò)展),不能重寫(xiě)父類(lèi)的抽象方法。
在PHP5.1以上中,抽象類(lèi)中支持靜態(tài)抽象方法。下面這個(gè)例子,看到靜態(tài)抽象方法可以聲明。實(shí)現(xiàn)這個(gè)方法時(shí),必須是靜態(tài)的方法。
abstract class User{ protected static $sal=0; static abstract function getSal(); static abstract function setSal($sal); } class VipUser extends User{ static function getSal(){ return self::$sal; } static function setSal($sal){ self::$sal=$sal; } } VipUser::setSal(100); echo "you sal is https://blog.51cto.com" . VipUser::getSal();另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線(xiàn),公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性?xún)r(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專(zhuān)為企業(yè)上云打造定制,能夠滿(mǎn)足用戶(hù)豐富、多元化的應(yīng)用場(chǎng)景需求。