日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > php >内容正文

php

PHP接口与抽象类区别:接口用来扩展应用 抽象用来总结归纳

發(fā)布時間:2024/9/19 php 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 PHP接口与抽象类区别:接口用来扩展应用 抽象用来总结归纳 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

1.理解

抽象類:比如男人,女人這兩個類,那我們可以為這兩個類設(shè)計一個更高級別的抽象類 人。

接口:我們可以坐著吃飯,可站著吃飯,可以用筷子吃飯,那么可以把這些吃飯的動作抽象成一個接口 吃飯

一個類只能繼承一個抽象類(因為你不可能同時是生物又是非生物)。

但是

一個類可以同時實現(xiàn)多個接口,比如開車接口,滑冰接口,踢足球接口,游泳接口。

總結(jié)

abstract是向上提取一個共性 interface是給一個事物對象提供多個解決問題的方法。

2.區(qū)別

1.接口類用implements,抽象類用extends.2.變量類型 :接口類中不可以含有成員變量/靜態(tài)變量,可以類常量。抽象類中可以聲明各種類型成員變量,實現(xiàn)數(shù)據(jù)封裝。3.構(gòu)造函數(shù) 接口類沒有構(gòu)造函數(shù),抽象類可以有構(gòu)造函數(shù)。4.方法權(quán)限? 接口類中默認(rèn)的方法都是public類型的,而抽象類可以public/protected/private5.幾個 一個類可以有多個接口,一個類只能有一個抽象類。6.執(zhí)行 接口里面的方法也必須全部被子類實現(xiàn),如果子類不能實現(xiàn)那么子類必須是抽象類。 抽象類里面的抽象方法必須全部被子類實現(xiàn),如果子類不能全部實現(xiàn),那么子類必須也是抽象類。7.抽象 抽象類里面可以沒有抽象方法。 如果一個類里面有抽象方法,那么這個類一定是抽象類。 接口(類)可以繼承接口,甚至可以繼承多個接口。但是類只能繼承一個類。8.實例化? 抽象類和接口都不能被直接實例化

4.代碼

<?php abstract class Father {function meth1() {echo "meth1...<br>";}abstract function meth2();public $var1="var1";public static $var2="var2";const Var3="Var3"; } class Son extends Father {function meth2() {echo "meth2 of Son...<br>";} } $s=new Son(); echo $s->var1."<br>"; echo Father::$var2."<br>"; echo Father::Var3."<br>";Interface IFather {//public $iVar1="iVar1"; 此處接口定義中不能包含成員變量//public static $iVar2="iVar2"; 此處接口定義中不能包含靜態(tài)變量const iVar3="iVar3";function iMeth1(); } Class ISon implements IFather {function iMeth1() {echo "iMeth1...<br>";} } $is=new ISon(); echo IFather::iVar3; ?>

5.圖示

6.選擇

1.多個源的話,就要用接口

2.方法共享話,就要用抽象

3.緊密相關(guān)的話就用抽象類,相關(guān)性不大就用接口類。 抽象類的功能應(yīng)該要遠多于接口,但是定義抽象類的代價較高。因為高級語言一個類只能繼承一個父類,即你在設(shè)計這個類的時候必須要抽象出所有這個類的子類所具有的共同屬性和方法;但是類(接口)卻可以繼承多個接口,,因此每個接口你只需要將特定的動作方法抽象到這個接口即可...也就是說,接口的設(shè)計具有更大的可擴展性,而抽象類的設(shè)計必須十分謹(jǐn)慎

與50位技術(shù)專家面對面20年技術(shù)見證,附贈技術(shù)全景圖

總結(jié)

以上是生活随笔為你收集整理的PHP接口与抽象类区别:接口用来扩展应用 抽象用来总结归纳的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。