av一区二区在线观看_亚洲男人的天堂网站_日韩亚洲视频_在线成人免费_欧美日韩精品免费观看视频_久草视

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

PHP基礎(chǔ)之類(lèi)和對(duì)象11——對(duì)象接口

瀏覽:3日期:2022-09-14 18:14:25
使用接口(interface),可以指定某個(gè)類(lèi)必須實(shí)現(xiàn)哪些方法,但不需要定義這些方法的具體內(nèi)容。

接口是通過(guò)?interface?關(guān)鍵字來(lái)定義的,就像定義一個(gè)標(biāo)準(zhǔn)的類(lèi)一樣,但其中定義所有的方法都是空的。

接口中定義的所有方法都必須是公有,這是接口的特性。

實(shí)現(xiàn)(implements)

要實(shí)現(xiàn)一個(gè)接口,使用?implements?操作符。類(lèi)中必須實(shí)現(xiàn)接口中定義的所有方法,否則會(huì)報(bào)一個(gè)致命錯(cuò)誤。類(lèi)可以實(shí)現(xiàn)多個(gè)接口,用逗號(hào)來(lái)分隔多個(gè)接口的名稱(chēng)。

Note:

實(shí)現(xiàn)多個(gè)接口時(shí),接口中的方法不能有重名。

Note:

接口也可以繼承,通過(guò)使用?extends?操作符。

Note:

類(lèi)要實(shí)現(xiàn)接口,必須使用和接口中所定義的方法完全一致的方式。否則會(huì)導(dǎo)致致命錯(cuò)誤。

常量

接口中也可以定義常量。接口常量和類(lèi)常量的使用完全相同,但是不能被子類(lèi)或子接口所覆蓋。

范例

Example #1 接口示例

interface ITemplate{ public function setVariable($name,$var); public function getHtml($template);}//實(shí)現(xiàn)接口//下面的寫(xiě)法是正確的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ě)法是錯(cuò)誤的,會(huì)報(bào)錯(cuò),因?yàn)闆](méi)有實(shí)現(xiàn)getHtml()class BadTemplate implements ITemplate{ private $vars = array(); public function setVariable($name,$var) {$this->vars[$name] = $var; }}

Example #2 可擴(kuò)充的接口

interface a{ public function foo();}interface b extends a{ public function baz(Baz $baz);}//正確寫(xiě)法class c implements b{ public function foo(){} public function baz(Baz $baz){}}//錯(cuò)誤寫(xiě)法class d implements b{ public function foo(){} public function baz(Foo $foo){}}

Example #3 繼承多個(gè)接口

interface a{ public function foo();}interface b{ public function bar();}interface c extends a,b{ public function baz();}class d implements c{ public function foo(){} public function bar(){} public function baz(){}}

Example #4 使用接口常量

interface a{ const b = 1;}//輸出接口常量echo a::b;//錯(cuò)誤寫(xiě)法class b implements a{ const b = 1;}

接口加上類(lèi)型約束,提供了一種很好的方式來(lái)確保某個(gè)對(duì)象包含有某些方法。參見(jiàn)?instanceof?操作符和類(lèi)型約束。

標(biāo)簽: PHP
相關(guān)文章:
主站蜘蛛池模板: 黄色在线小视频 | 精品久久视频 | 欧美性精品 | 一区二区国产在线 | 成人精品视频在线观看 | 国产精品美女久久久 | 亚洲国产精品久久 | 欧美理论片在线观看 | 久久精品亚洲 | 成人午夜在线视频 | a一级黄色片 | 久久99精品久久久久久琪琪 | 综合久久久 | 一区二区三区黄色 | 精品国产视频 | 欧美日韩亚洲视频 | 一级理论片 | 国产在线一区二区 | www.黄色网 | 中文一级片 | 久久久久久久久久久国产 | 青青草久草 | 免费福利在线观看 | 色婷婷国产| 欧美一级特黄视频 | 国产成人三级在线观看 | 日韩视频在线免费观看 | 性色av蜜臀av浪潮av老女人 | 亚洲精品一区二区三区蜜桃久 | 日韩黄色在线视频 | 91成人在线观看喷潮 | 少妇在线 | 特级毛片爽www免费版 | 国产精品区二区三区日本 | 久久久久久免费毛片精品 | 中文字幕一区二区三区在线观看 | 日狠狠 | 午夜视频网站 | 69精品视频 | 午夜在线影院 | 青青久久久 |