十年網(wǎng)站開發(fā)經(jīng)驗 + 多家企業(yè)客戶 + 靠譜的建站團(tuán)隊
量身定制 + 運營維護(hù)+專業(yè)推廣+無憂售后,網(wǎng)站問題一站解決
使用接口(interface),可以指定某個類必須實現(xiàn)哪些方法,但不需要定義這些方法的具體內(nèi)容。
成都創(chuàng)新互聯(lián)專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于成都網(wǎng)站設(shè)計、網(wǎng)站建設(shè)、外貿(mào)網(wǎng)站建設(shè)、平邑網(wǎng)絡(luò)推廣、微信小程序開發(fā)、平邑網(wǎng)絡(luò)營銷、平邑企業(yè)策劃、平邑品牌公關(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運營等,從售前售中售后,我們都將竭誠為您服務(wù),您的肯定,是我們最大的嘉獎;成都創(chuàng)新互聯(lián)為所有大學(xué)生創(chuàng)業(yè)者提供平邑建站搭建服務(wù),24小時服務(wù)熱線:13518219792,官方網(wǎng)址:www.cdcxhl.com
接口是通過 interface 關(guān)鍵字來定義的,就像定義一個標(biāo)準(zhǔn)的類一樣,但其中定義所有的方法都是空的。
接口中定義的所有方法都必須是公有,這是接口的特性。
要實現(xiàn)一個接口,使用 implements 操作符。類中必須實現(xiàn)接口中定義的所有方法,否則會報一個致命錯誤。類可以實現(xiàn)多個接口,用逗號來分隔多個接口的名稱。
Note:
實現(xiàn)多個接口時,接口中的方法不能有重名。
Note:
接口也可以繼承,通過使用 extends 操作符。
Note:
類要實現(xiàn)接口,必須使用和接口中所定義的方法完全一致的方式。否則會導(dǎo)致致命錯誤。
接口中也可以定義常量。接口常量和類常量的使用完全相同,但是不能被子類或子接口所覆蓋。
#聲明一個'iTemplate'接口 interface iTemplate { public function setVariable($name, $var); public function getHtml($template); } #實現(xiàn)接口 #下面的寫法是正確的 class Template implements iTemplate { private $vars = array(); public function setVariable($name, $var) { $this->vars[$name] = $var; } public function getHtml($template) { foreach($this->vars as $name => $value) { $template = str_replace('{' . $name . '}', $value, $template); } return $template; } } #下面的寫法是錯誤的,會報錯,因為沒有實現(xiàn) getHtml(): #Fatal error: Class BadTemplate contains 1 abstract methods #and must therefore be declared abstract (iTemplate::getHtml) class BadTemplate implements iTemplate { private $vars = array(); public function setVariable($name, $var) { $this->vars[$name] = $var; } }