PHP中抽象類(lèi),接口功能、定義方法示例
本文實(shí)例講述了PHP中抽象類(lèi),接口功能、定義方法。分享給大家供大家參考,具體如下:
這里先介紹接口,因?yàn)樵谖易罱吹暮脦妆緋hp工具書(shū)中都沒(méi)有提到抽象類(lèi)。
本人也覺(jué)得,在理解了接口后抽象類(lèi)也非常好理解。
例子代碼隨便寫(xiě)了一下。例子代碼是很ok的,測(cè)試過(guò)了不會(huì)報(bào)錯(cuò),懶得看代碼的筒靴們看文字一樣。栗子舉的不好。
代碼測(cè)試環(huán)境:php5.3.29
接口(interface):
接口就是為抽象而生的,相當(dāng)于一個(gè)約定或規(guī)范,方便框架搭建,代碼分工。
它里面指定了抽象方法的名稱(chēng)和參數(shù)和成員常量,但不能包含任何的具體方法,變量.
個(gè)人認(rèn)為php是弱類(lèi)型語(yǔ)言,強(qiáng)調(diào)的是靈活性。與java相比php里的接口對(duì)類(lèi)型要求太松弛。不大好用,不推薦大量使用。
- 1)接口中全部是抽象方法。(因?yàn)橐脕?lái)給子類(lèi)實(shí)現(xiàn)。所以都要是
public或protected的。) - 2)接口中不能有具體方法,且只能有成員常量。
- 3) 由于php和java c++等強(qiáng)類(lèi)型語(yǔ)言不同,php是弱類(lèi)型且動(dòng)態(tài)類(lèi)型的本身就不指定返回類(lèi)型,參數(shù)的數(shù)據(jù)類(lèi)型除四種基本類(lèi)型不能指定外也可寫(xiě)可不寫(xiě),所以對(duì)方法返回值和參數(shù)的類(lèi)型無(wú)要求。
- 4)一個(gè)類(lèi)可以實(shí)現(xiàn)多個(gè)接口。用法:
implements關(guān)鍵字后實(shí)現(xiàn)多個(gè)接口用逗號(hào)隔開(kāi)。
interface Car {
const name = "車(chē)子";
public function run($speed=400,$time=300);
}
class Xiali implements Car {
public function run($s=100,$t=200){//參數(shù)個(gè)數(shù)必須相同
echo '哈哈 我會(huì)跑';
return 'abc';
}
public function fly() {
echo '哈哈我會(huì)飛';
}
}
抽象類(lèi)(abstract class):
作用和接口一樣,都是為了規(guī)范子類(lèi)的功能,只是比接口多包含了具體的內(nèi)容。
1)包含至少一個(gè)抽象方法(abstract function)的類(lèi)(換言之,任何類(lèi)只要有了一個(gè)或以上的抽象方法,這個(gè)類(lèi)就必須是抽象類(lèi)。)
2)抽象類(lèi)和接口一樣不能實(shí)例化。都叫抽象的了,還咋實(shí)例化,實(shí)例都是具體的。2333.
3)小結(jié):抽象類(lèi)和普通類(lèi)倆區(qū)別:1.至少包含一個(gè)抽象方法 2.不能實(shí)例化。別的都一樣。
4)用法:
abstract class Father{
abstract function func1();//至少一個(gè)抽象方法。
public function func2(){//具體方法隨便寫(xiě)。
echo 'func2';
$this->func3();
}
private function func3(){
echo '一個(gè)private方法';
}
}
實(shí)現(xiàn)繼承到的抽象方法時(shí)
/**
* 繼承抽象類(lèi)
* 必須實(shí)現(xiàn)其所有抽象方法
* 和普通一樣,一個(gè)類(lèi)也只能繼承一個(gè)抽象類(lèi)
*/
class Son extends Father {
public function func1() {
echo '實(shí)現(xiàn)(重寫(xiě))抽象方法。參數(shù)名個(gè)數(shù)必須相同'
}
}
更多關(guān)于PHP相關(guān)內(nèi)容感興趣的讀者可查看本站專(zhuān)題:《php面向?qū)ο蟪绦蛟O(shè)計(jì)入門(mén)教程》、《PHP數(shù)組(Array)操作技巧大全》、《PHP基本語(yǔ)法入門(mén)教程》、《PHP運(yùn)算與運(yùn)算符用法總結(jié)》、《php字符串(string)用法總結(jié)》、《php+mysql數(shù)據(jù)庫(kù)操作入門(mén)教程》及《php常見(jiàn)數(shù)據(jù)庫(kù)操作技巧匯總》
希望本文所述對(duì)大家PHP程序設(shè)計(jì)有所幫助。
- php 接口類(lèi)與抽象類(lèi)的實(shí)際作用
- php接口和抽象類(lèi)使用示例詳解
- 深入分析php中接口與抽象類(lèi)的區(qū)別
- PHP中抽象類(lèi)、接口的區(qū)別與選擇分析
- PHP中用接口、抽象類(lèi)、普通基類(lèi)實(shí)現(xiàn)“面向接口編程”與“耦合方法”簡(jiǎn)述
- PHP OPP機(jī)制和模式簡(jiǎn)介(抽象類(lèi)、接口和契約式編程)
- PHP入門(mén)教程之面向?qū)ο蟮奶匦苑治?繼承,多態(tài),接口,抽象類(lèi),抽象方法等)
- 淺析php中抽象類(lèi)和接口的概念以及區(qū)別
- PHP面向?qū)ο蟪绦蛟O(shè)計(jì)高級(jí)特性詳解(接口,繼承,抽象類(lèi),析構(gòu),克隆等)
- PHP抽象類(lèi)與接口的區(qū)別詳解
- php抽象類(lèi)和接口知識(shí)點(diǎn)整理總結(jié)
相關(guān)文章
php實(shí)現(xiàn)購(gòu)物車(chē)功能(以大蘋(píng)果購(gòu)物網(wǎng)為例)
本文主要介紹了php實(shí)現(xiàn)購(gòu)物車(chē)功能(以大蘋(píng)果購(gòu)物網(wǎng)為例)的實(shí)現(xiàn)方法,具有很好的參考價(jià)值。下面跟著小編一起來(lái)看下吧2017-03-03
php操作mongodb封裝類(lèi)與用法實(shí)例
這篇文章主要介紹了php操作mongodb封裝類(lèi)與用法,結(jié)合具體實(shí)例形式分析了php定義的MongoDB操作封裝類(lèi)與相關(guān)的類(lèi)實(shí)例化、查詢(xún)、更新等使用技巧,需要的朋友可以參考下2018-09-09
php反射學(xué)習(xí)之不用new方法實(shí)例化類(lèi)操作示例
這篇文章主要介紹了php反射學(xué)習(xí)之不用new方法實(shí)例化類(lèi)操作,結(jié)合實(shí)例形式進(jìn)一步分析了php基于反射不用new方法進(jìn)行實(shí)例化類(lèi)的相關(guān)操作技巧,需要的朋友可以參考下2019-06-06
10個(gè)可以簡(jiǎn)化php開(kāi)發(fā)過(guò)程的MySQL工具
使用各種精心設(shè)計(jì)的工具來(lái)管理MySQL數(shù)據(jù)庫(kù)要比單純使用傳統(tǒng)的方法輕松得的多。開(kāi)發(fā)人員應(yīng)該不斷尋找那些能夠縮短開(kāi)發(fā)時(shí)間的工具。這也是我們本文整理這10個(gè)能夠簡(jiǎn)化開(kāi)發(fā)過(guò)程的MySQL工具的原因。2010-04-04
Yii使用queue實(shí)現(xiàn)隊(duì)列流程講解
Yii是一個(gè)高性能的PHP5的web應(yīng)用程序開(kāi)發(fā)框架。通過(guò)一個(gè)簡(jiǎn)單的命令行工具yiic可以快速創(chuàng)建一個(gè)web應(yīng)用程序的代碼框架,開(kāi)發(fā)者可以在生成的代碼框架基礎(chǔ)上添加業(yè)務(wù)邏輯,以快速完成應(yīng)用程序的開(kāi)發(fā)2022-11-11
支持漢轉(zhuǎn)拼和拼音分詞的PHP中文工具類(lèi)ChineseUtil
本文給大家推薦的是一款PHP的中文分詞工具類(lèi),功能包括支持漢字轉(zhuǎn)拼音、拼音分詞、簡(jiǎn)繁互轉(zhuǎn)。非常不錯(cuò),有需要的小伙伴可以參考下2018-02-02
php array_map使用自定義的函數(shù)處理數(shù)組中的每個(gè)值
這篇文章主要介紹了php array_map使用自定義的函數(shù)處理數(shù)組中的每個(gè)值的相關(guān)資料,需要的朋友可以參考下2016-10-10
PHP開(kāi)發(fā)中AJAX技術(shù)的簡(jiǎn)單應(yīng)用
這篇文章主要介紹了PHP開(kāi)發(fā)中AJAX技術(shù)的簡(jiǎn)單應(yīng)用,簡(jiǎn)單對(duì)ajax的執(zhí)行原理、實(shí)際應(yīng)用作介紹,感興趣的小伙伴們可以參考一下2015-12-12

