PHP中抽象類,接口功能、定義方法示例
本文實例講述了PHP中抽象類,接口功能、定義方法。分享給大家供大家參考,具體如下:
這里先介紹接口,因為在我最近看的好幾本php工具書中都沒有提到抽象類。
本人也覺得,在理解了接口后抽象類也非常好理解。
例子代碼隨便寫了一下。例子代碼是很ok的,測試過了不會報錯,懶得看代碼的筒靴們看文字一樣。栗子舉的不好。
代碼測試環(huán)境:php5.3.29
接口(interface):
接口就是為抽象而生的,相當于一個約定或規(guī)范,方便框架搭建,代碼分工。
它里面指定了抽象方法的名稱和參數(shù)和成員常量,但不能包含任何的具體方法,變量.
個人認為php是弱類型語言,強調(diào)的是靈活性。與java相比php里的接口對類型要求太松弛。不大好用,不推薦大量使用。
- 1)接口中全部是抽象方法。(因為要用來給子類實現(xiàn)。所以都要是
public或protected的。) - 2)接口中不能有具體方法,且只能有成員常量。
- 3) 由于php和java c++等強類型語言不同,php是弱類型且動態(tài)類型的本身就不指定返回類型,參數(shù)的數(shù)據(jù)類型除四種基本類型不能指定外也可寫可不寫,所以對方法返回值和參數(shù)的類型無要求。
- 4)一個類可以實現(xiàn)多個接口。用法:
implements關(guān)鍵字后實現(xiàn)多個接口用逗號隔開。
interface Car {
const name = "車子";
public function run($speed=400,$time=300);
}
class Xiali implements Car {
public function run($s=100,$t=200){//參數(shù)個數(shù)必須相同
echo '哈哈 我會跑';
return 'abc';
}
public function fly() {
echo '哈哈我會飛';
}
}
抽象類(abstract class):
作用和接口一樣,都是為了規(guī)范子類的功能,只是比接口多包含了具體的內(nèi)容。
1)包含至少一個抽象方法(abstract function)的類(換言之,任何類只要有了一個或以上的抽象方法,這個類就必須是抽象類。)
2)抽象類和接口一樣不能實例化。都叫抽象的了,還咋實例化,實例都是具體的。2333.
3)小結(jié):抽象類和普通類倆區(qū)別:1.至少包含一個抽象方法 2.不能實例化。別的都一樣。
4)用法:
abstract class Father{
abstract function func1();//至少一個抽象方法。
public function func2(){//具體方法隨便寫。
echo 'func2';
$this->func3();
}
private function func3(){
echo '一個private方法';
}
}
實現(xiàn)繼承到的抽象方法時
/**
* 繼承抽象類
* 必須實現(xiàn)其所有抽象方法
* 和普通一樣,一個類也只能繼承一個抽象類
*/
class Son extends Father {
public function func1() {
echo '實現(xiàn)(重寫)抽象方法。參數(shù)名個數(shù)必須相同'
}
}
更多關(guān)于PHP相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《php面向?qū)ο蟪绦蛟O(shè)計入門教程》、《PHP數(shù)組(Array)操作技巧大全》、《PHP基本語法入門教程》、《PHP運算與運算符用法總結(jié)》、《php字符串(string)用法總結(jié)》、《php+mysql數(shù)據(jù)庫操作入門教程》及《php常見數(shù)據(jù)庫操作技巧匯總》
希望本文所述對大家PHP程序設(shè)計有所幫助。
相關(guān)文章
php中在PDO中使用事務(wù)(Transaction)
事務(wù) (Transaction) 是操作數(shù)據(jù)庫中很重要的一個功能, 它可以讓你預定一條, 或者一系列 SQL 語句, 然后一起執(zhí)行2011-05-05
PHP頁面靜態(tài)化的優(yōu)缺點與實現(xiàn)
眾所周知,頁面靜態(tài)化是門戶網(wǎng)站研發(fā)中必備的一項技能,本課程從純靜態(tài)化和偽靜態(tài)化兩個角度進行分析,帶領(lǐng)大家掌握在PHP中如何生成純靜態(tài)化頁面,在WEB服務(wù)器中如何配置偽靜態(tài),幫助大家掌握又一項加薪利器2023-02-02
php lcg_value與mt_rand生成0~1隨機小數(shù)的效果對比分析
下面小編就為大家?guī)硪黄猵hp lcg_value與mt_rand生成0~1隨機小數(shù)的效果對比分析。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-04-04
php+websocket 實現(xiàn)的聊天室功能詳解
這篇文章主要介紹了php+websocket 實現(xiàn)的聊天室功能,結(jié)合實例形式詳細分析了php+websocket 實現(xiàn)的聊天室功能相關(guān)配置、實現(xiàn)方法與操作注意事項,需要的朋友可以參考下2020-05-05
php+mysql開發(fā)中的經(jīng)驗與常識小結(jié)
這篇文章主要介紹了php+mysql開發(fā)中的經(jīng)驗與常識,簡單總結(jié)分析了php+mysql數(shù)據(jù)庫程序設(shè)計中的命名規(guī)范、數(shù)據(jù)庫表、字段、索引等相關(guān)設(shè)計與使用規(guī)范,需要的朋友可以參考下2019-03-03

