小編給大家分享一下php抽象類有什么用,希望大家閱讀完這篇文章后大所收獲,下面讓我們一起去探討吧!
創新互聯建站是專業的榕江網站建設公司,榕江接單;提供網站設計、成都網站設計,網頁設計,網站設計,建網站,PHP網站建設等專業做網站服務;采用PHP框架,可快速的進行榕江網站開發網頁制作和功能擴展;專業做搜索引擎喜愛的網站,專業的做網站團隊,希望更多企業前來合作!
抽象類往往用來表征對問題領域進行分析、設計中得出的抽象概念,是對一系列看上去不同,但是本質上相同的具體概念的抽象。
抽象類是不完整的,它只能用作基類。在面向對象方法中,抽象類主要用來進行類型隱藏和充當全局變量的角色。
PHP 5 支持抽象類和抽象方法。定義為抽象的類不能被實例化。任何一個類,如果它里面至少有一個方法是被聲明為抽象的,那么這個類就必須被聲明為抽象的。被定義為抽象的方法只是聲明了其調用方式(參數),不能定義其具體的功能實現。
繼承一個抽象類的時候,子類必須定義父類中的所有抽象方法;另外,這些方法的訪問控制必須和父類中一樣(或者更為寬松)。
例如某個抽象方法被聲明為受保護的,那么子類中實現的方法就應該聲明為受保護的或者公有的,而不能定義為私有的。
此外方法的調用方式必須匹配,即類型和所需參數數量必須一致。
例如,子類定義了一個可選參數,而父類抽象方法的聲明里沒有,則兩者的聲明并無沖突。
這也適用于 PHP 5.4 起的構造函數。在 PHP 5.4 之前的構造函數聲明可以不一樣的。
抽象類示例
<?php abstract class AbstractClass { // 強制要求子類定義這些方法 abstract protected function getValue(); abstract protected function prefixValue($prefix); // 普通方法(非抽象方法) public function printOut() { print $this->getValue() . "\n"; } } class ConcreteClass1 extends AbstractClass { protected function getValue() { return "ConcreteClass1"; } public function prefixValue($prefix) { return "{$prefix}ConcreteClass1"; } } class ConcreteClass2 extends AbstractClass { public function getValue() { return "ConcreteClass2"; } public function prefixValue($prefix) { return "{$prefix}ConcreteClass2"; } } $class1 = new ConcreteClass1; $class1->printOut(); echo $class1->prefixValue('FOO_') ."\n"; $class2 = new ConcreteClass2; $class2->printOut(); echo $class2->prefixValue('FOO_') ."\n"; ?>
以上例程會輸出:
ConcreteClass1 FOO_ConcreteClass1 ConcreteClass2 FOO_ConcreteClass2
看完了這篇文章,相信你對php抽象類有什么用有了一定的了解,想了解更多相關知識,歡迎關注創新互聯行業資訊頻道,感謝各位的閱讀!
標題名稱:php抽象類有什么用
網站鏈接:http://vcdvsql.cn/article28/peppjp.html
成都網站建設公司_創新互聯,為您提供網站導航、品牌網站制作、微信小程序、ChatGPT、網頁設計公司、定制開發
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯