PHP同大多數的面嚮對象語言同樣,並不支持多重繼承。少數支持多重繼承的語言中最著名的就是C++和Smalltalk。若是須要實現多重繼承功能,在PHP中,能夠經過接口,它是PHP解決多重繼承問題的方法,相似於Java的接口實現。php
接口的思想是指定一個實現了該接口的類必須實現的一系列函數。若是沒有實現接口中指定的方法,將產生一個致命錯誤。函數
當有不少人一塊兒開發一個項目時,可能都會去調用別人寫的一些類,那你就會問,我怎麼知道他的某個功能的實現方法是怎麼命名的呢,這個時候PHP接口類interface就起到做用了,當咱們定義了一個接口類時,它裏面的方式是下面的子類必須實現的,好比 :
spa
interface Shop{ public function buy($gid); public function sell($gid); public function view($gid); }
我聲明一個shop接口類,定義了三個方法:買(buy),賣(sell),看(view),那麼繼承此類的全部子類都必須實現這3個方法少一個都不行,若是子類沒有實現這些話,就沒法運行。實際上接口類說白了,就是一個類的模板,一個類的規定,若是你屬於這類,你就必須遵循個人規定,少一個都不行,可是具體你怎麼去作,我無論,那是你的事,如: 對象
class BaseShop implements Shop{ public function buy($gid){ echo('你購買了ID爲 :'.$gid.'的商品'); } public function sell($gid){ echo('你賣了ID爲 :'.$gid.'的商品'); } public function view($gid){ echo('你查看了ID爲 :'.$gid.'的商品'); } }
你想一想,在一個多人合做的大項目裏面,有了接口類是多麼的方便,這樣你就不用去問別人,你的某某功能的方法名是什麼了,固然若是大家喜歡這樣我也沒有辦法。blog
結論 : PHP接口類interface就是一個類的領導者,指明方向,子類必須完成它指定方法。繼承