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

首頁 > 語言 > PHP > 正文

PHP接口多繼承及tarits實現多繼承效果的方法

2024-05-05 00:01:49
字體:
來源:轉載
供稿:網友

本文實例講述了PHP接口多繼承及tarits實現多繼承效果的方法。分享給大家供大家參考,具體如下:

接口多繼承

在PHP的面向對象中,接口可以繼承接口。PHP類只能繼承一個父類(單繼承),但是接口可以實現多繼承,可以繼承一個或者多個接口。當然接口的繼承也是和類的繼承一樣使用extends關鍵字,要多個繼承的話只要用逗號把繼承的接口隔開即可。

需要注意的是當你接口繼承其它接口時候,直接繼承父接口的靜態常量屬性和抽象方法,所以類實現接口時必須實現所有相關的抽象方法。

下面舉例說明:

1.繼承單接口

<?phpinterface testA{  function echostr();}interface testB extends testA{  function dancing($name);}class testC implements testB{  function echostr(){    echo "接口繼承,要實現所有相關抽象方法!";    echo "<br>";  }  function dancing($name){    echo $name."正在跳舞!";  }}$demo=new testC();$demo->echostr();$demo->dancing("模特");//運行結果/**  接口繼承,要實現所有相關抽象方法  模特正在跳舞!**/

2.繼承多接口

<?phpinterface testA{  function echostr();}interface testB{  function dancing($name);}interface testC extends testA,testB{  function singing($nickname);}class testD implements testC{  function echostr(){    echo "接口繼承,要實現父接口所有相關方法!";    echo "<br />";  }  function dancing($name){    echo $name."正在跳舞!";    echo "<br />";  }  function singing($nickname){    echo $nickname."正在唱歌!";  }}$demo=new testD();$demo->echostr();$demo->dancing("模特");$demo->singing("周杰倫");//運行結果/**  接口繼承,要實現父接口所有相關方法!  模特正在跳舞!  周杰倫正在唱歌!**/

tarits多繼承

多繼承里一個類可以同時繼承多個父類,組合多個父類的功能 C++ 里就是使用這種模型來增強集成的靈活性的,但多重繼承過于靈活,并且會帶來“菱形繼承”,故使用起來有不少困難,模型變的復雜起來,現在大多數語言都放棄了多重繼承這一模型。
但有的場合想用多繼承,但PHP又沒多繼承,于是就發明了這樣的一個東西。

Traits可以理解為一組能被不同的類都能調用到的方法集合,但Traits不是類!不能被實例化。先來例子看下語法:

<?phptrait myTrait{  function traitMethod1(){}  function traitMethod2(){}}//然后是調用這個traits,語法為:class myClass{  use myTrait;}//這樣就可以通過use myTraits,調用Traits中的方法了,比如:$obj = new myClass();$obj-> traitMethod1 ();$obj-> traitMethod2 (); >

具體的介紹跟使用可以看官方的介紹

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


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

圖片精選

主站蜘蛛池模板: 荔浦县| 泌阳县| 兴海县| 许昌市| 灯塔市| 宜川县| 都江堰市| 保靖县| 东辽县| 陵水| 平江县| 安阳市| 高邮市| 彭州市| 额敏县| 和林格尔县| 博兴县| 扎囊县| 新民市| 胶州市| 吉安市| 闸北区| 宣化县| 新河县| 横山县| 信宜市| 东明县| 吉木乃县| 寿阳县| 绵阳市| 崇礼县| 霍山县| 孝昌县| 凤翔县| 诸城市| 安仁县| 西峡县| 中阳县| 隆昌县| 明水县| 辽阳市|