国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > PHP > 正文

PHP中抽象類,接口功能、定義方法示例

2024-05-05 00:06:59
字體:
供稿:網(wǎng)友

本文實例講述了PHP中抽象類,接口功能、定義方法。分享給大家供大家參考,具體如下:

這里先介紹接口,因為在我最近看的好幾本php工具書中都沒有提到抽象類。

本人也覺得,在理解了接口后抽象類也非常好理解。

例子代碼隨便寫了一下。例子代碼是很ok的,測試過了不會報錯,懶得看代碼的筒靴們看文字一樣。栗子舉的不好。

代碼測試環(huán)境:php5.3.29

接口(interface):

接口就是為抽象而生的,相當于一個約定或規(guī)范,方便框架搭建,代碼分工。

它里面指定了抽象方法的名稱和參數(shù)和成員常量,但不能包含任何的具體方法,變量.

個人認為php是弱類型語言,強調(diào)的是靈活性。與java相比php里的接口對類型要求太松弛。不大好用,不推薦大量使用。

  • 1)接口中全部是抽象方法。(因為要用來給子類實現(xiàn)。所以都要是publicprotected的。)
  • 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ù)必須相同'  }}

希望本文所述對大家PHP程序設計有所幫助。


注:相關(guān)教程知識閱讀請移步到PHP教程頻道。
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表

圖片精選

主站蜘蛛池模板: 进贤县| 宜都市| 永泰县| 新晃| 上犹县| 锡林浩特市| 嘉兴市| 土默特右旗| 延安市| 余江县| 奈曼旗| 富源县| 新平| 两当县| 大荔县| 霞浦县| 昌黎县| 日喀则市| 麟游县| 瑞昌市| 榆中县| 静宁县| 洛宁县| 喀什市| 略阳县| 正蓝旗| 许昌县| 丹棱县| 两当县| 石嘴山市| 盐池县| 平顶山市| 汨罗市| 成安县| 拉孜县| 城市| 昌黎县| 南涧| 阿克苏市| 南涧| 荣昌县|