PHP接口特性的實(shí)例講解
我們在通過學(xué)習(xí)PHP語言的時(shí)候經(jīng)常會遇到一些問題,這是好事,發(fā)現(xiàn)問題,解決問題才能提高我們的知識,鞏固我們所掌握的要點(diǎn)。最近在看PHP的OOP特性,發(fā)現(xiàn)和JAVA很像,就是語法上有不同,但是有關(guān)資料少的可憐,找到了幾個(gè)也不能充分說明PHP接口特性,自己又看了一遍孫鑫老師的JAVA視頻教程,有關(guān)接口的部分,昨天總算是理解了。真的感覺是豁然開朗。把自己寫的PHP接口部分的示例程序發(fā)上來,讓大家對PHP接口特性有一個(gè)清晰的認(rèn)識。
#t#VideoCard.php 接口文件(顯卡的功能接口定義)
- <?php
- interface VideoCardInter{
- function Display();
- function getName();
- }
- ?>
Dmeng.php 實(shí)現(xiàn)接口(帝盟的廠家實(shí)現(xiàn)了這些接口,怎么實(shí)現(xiàn)的,主板廠家不用管)
- <?php
- include_once("VideoCard.php");
- class Dmeng implements VideoCardInter {
- function Display(){
- echo "Display";
- }
- function getName(){
- return "Dmeng VideoCard";
- }
- }
- ?>
Mainboard.php 應(yīng)用接口(把顯卡插到主板上,主板只要用這些接口就行了,也可以不用)
- <?php
- include_once("VideoCard.php");
- include_once("Dmeng.php");
- class Mainboard{
- var $vc;
- function run(VideoCardInter $vc){ //定義VideoCardInter接口類型參數(shù),這時(shí)并不知道是誰來實(shí)現(xiàn)。
- $this->vc=$vc;
- $this->vc->Display();
- echo "主板運(yùn)行!";
- }
- }
- $conputer=new Mainboard();
- $conputer->run(new Dmeng); //用的時(shí)候把實(shí)現(xiàn)接口類的名稱寫進(jìn)來,
(現(xiàn)在是帝盟的顯卡,也可以換成別的場家的,只要他們都實(shí)現(xiàn)了接口)- ?>
由于PHP是動(dòng)態(tài)語言,所以類型不能像JAVA一樣定的很死,定義接口的時(shí)候,寫上返回類型反而出錯(cuò),估計(jì)PHP6的時(shí)候可能寫義的要嚴(yán)格一些吧。
PS:我只把PHP接口特性最基本的部分寫上,還可以加CPU等接口。