日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
PHPextends:繼承
面向?qū)ο缶幊蹋∣OP)的一大好處就是,可以使用一個(gè)類繼承另一個(gè)已有的類,被繼承的類稱為父類或基類,而繼承這個(gè)父類的類稱為子類。子類可以繼承父類的方法和屬性,因此通過繼承可以提高代碼的重用性,也可以提高軟件的開發(fā)效率。

成都創(chuàng)新互聯(lián)公司專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于網(wǎng)站設(shè)計(jì)、成都網(wǎng)站制作、克拉瑪依網(wǎng)絡(luò)推廣、微信平臺(tái)小程序開發(fā)、克拉瑪依網(wǎng)絡(luò)營銷、克拉瑪依企業(yè)策劃、克拉瑪依品牌公關(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運(yùn)營等,從售前售中售后,我們都將竭誠為您服務(wù),您的肯定,是我們最大的嘉獎(jiǎng);成都創(chuàng)新互聯(lián)公司為所有大學(xué)生創(chuàng)業(yè)者提供克拉瑪依建站搭建服務(wù),24小時(shí)服務(wù)熱線:13518219792,官方網(wǎng)址:www.cdcxhl.com

子類可以增加父類之外的新功能,因此也可以將子類稱為父類的“擴(kuò)展”。此外,子類還可以繼承父類的構(gòu)造函數(shù),當(dāng)子類被實(shí)例化時(shí),php 會(huì)先在子類中查找構(gòu)造函數(shù)。如果子類有自己的構(gòu)造函數(shù),PHP 會(huì)先調(diào)用子類中的構(gòu)造函數(shù)。當(dāng)子類中沒有時(shí),PHP 則會(huì)去調(diào)用父類中的構(gòu)造函數(shù)。

在 PHP 中,類的繼承需要通過 extends 關(guān)鍵字來實(shí)現(xiàn)。語法格式如下所示:

class 子類名 extends 父類名{
    ... ...
}

在 C++ 中,一個(gè)子類可以繼承一個(gè)基類,也可以繼承多個(gè)基類。繼承一個(gè)基類稱為單繼承;繼承多個(gè)基類稱為多繼承。但在 PHP 中沒有多繼承,只能使用單繼承模式。也就是說,一個(gè)類只能直接從另一個(gè)類中繼承數(shù)據(jù)。但一個(gè)類可以有多個(gè)子類。

通過前面的學(xué)習(xí)我們知道,類中的成員屬性和方法都需要使用訪問權(quán)限修飾符來修飾,這是 PHP 面向?qū)ο缶幊讨械囊粋€(gè)重要特性。不同訪問修飾符的作用及其之間的區(qū)別如下表所示:

  public(默認(rèn)) private protected
同一個(gè)類中訪問
在子類中訪問  
在類的外部訪問    

1、繼承 public 成員

類的成員都有不同的訪問權(quán)限,由訪問控制關(guān)鍵字來控制的。在 PHP 中,父類所有使用 public 修飾的成員均可以被子類繼承。

【示例】定義一個(gè)基類,使用另一類來繼承這個(gè)基類,同時(shí)在嘗試使用子類調(diào)用基類中的成員方法。

';
        }
        public function demo(){
            echo '基類中的成員方法
'; } } class ClassOne extends Website{ } class ClassTwo extends Website{ public function __construct(){ echo '------子類中的構(gòu)造函數(shù)------
'; } } $object = new ClassOne(); $object -> demo(); $object2 = new ClassTwo(); $object2 -> demo(); ?>

運(yùn)行結(jié)果如下:

------基類中的構(gòu)造函數(shù)------
基類中的成員方法
------子類中的構(gòu)造函數(shù)------
基類中的成員方法

2、繼承 protected 成員

很多情況下有些類繼承的屬性是不想在類外部被訪問的,這時(shí)就可以把這個(gè)成員聲明為一個(gè)保護(hù)成員,也就使用 protected 修飾這個(gè)成員。受保護(hù)的成員不可以在類外部訪問到,但是可以在子類的內(nèi)部訪問,也是就說我們可以在子類設(shè)置一個(gè)成員函數(shù)來訪問這個(gè)受保護(hù)成員。

【示例】將上面示例的代碼略作調(diào)整,演示類中 protected 成員的繼承情況。

';
        }
        protected function demo(){
            echo '基類中的成員方法
'; } } class ClassOne extends Website{ } class ClassTwo extends Website{ public function __construct(){ echo '------子類中的構(gòu)造函數(shù)------
'; } public function test(){ $this -> demo(); } } $object = new ClassOne(); // $object -> demo(); // 在子類中調(diào)用父類使用 protected 修飾的成員方法會(huì)報(bào)錯(cuò) $object2 = new ClassTwo(); $object2 -> test(); ?>

運(yùn)行結(jié)果如下:

------基類中的構(gòu)造函數(shù)------
------子類中的構(gòu)造函數(shù)------
基類中的成員方法

在子類中調(diào)用父類使用 protected 修飾的成員方法會(huì)報(bào)錯(cuò),如果去掉上面代碼中第 26 行的注釋,程序會(huì)報(bào)錯(cuò)并停止運(yùn)行,如下所示:

Fatal error: Uncaught Error: Call to protected method Website::demo() from context '' ··· ···

3、private 成員

類中使用 private 修飾的成員被稱為私有成員。父類中的私有成員不會(huì)被子類繼承,因此不能被子類訪問到,下面來看一個(gè)示例。

';
        }
    }

    class ClassOne extends Website{
        public function test(){
            $this -> demo();
        }
    }

    $object = new ClassOne();
    $object -> test();
?>

運(yùn)行結(jié)果如下:

Fatal error: Uncaught Error: Call to private method Website::demo() from context 'ClassOne' ··· ···

在子類中調(diào)用父類中使用 private 關(guān)鍵字修飾的成員時(shí),程序會(huì)報(bào)錯(cuò)并終止運(yùn)行。


網(wǎng)頁標(biāo)題:PHPextends:繼承
文章源于:http://m.5511xx.com/article/cocdohi.html