PHP面向?qū)ο蠡A(chǔ)知識整理2

1.instanceof關(guān)鍵詞使用

<?php
class Computer{

}

$computer = new Computer();

echo ($computer instanceof Computer);
//instanceof關(guān)鍵詞用于判斷$computer是否是類Computer下的對象

2.面向?qū)ο筇匦?繼承,使用 extends關(guān)鍵詞

<?php
//這是父類,電腦類
class Computer{
    public $_name = '聯(lián)想';

    public function _run(){
        echo '聯(lián)想在運(yùn)行!';
    }
}

//子類,筆記本電腦類
class NoteComputer extends Computer{

}

$notecomputer = new NoteComputer();
echo $notecomputer->_name;
$notecomputer->_run();

3.方法重載

<?php
//這是父類,電腦類
class Computer{
    public $_name = '聯(lián)想';

    public function _run(){
        echo '聯(lián)想在運(yùn)行!';
    }
}

//子類,筆記本電腦類
class NoteComputer extends Computer{

    //如果不需要父類的字段和方法,那么可以采用重寫的方法覆蓋掉父類的字段和方法
    //雖然最后調(diào)用的是子類的字段和方法,但是并不代表子類的方法和字段替換了父類,只是因?yàn)樽宇惖膬?yōu)先級比父類高
    public $_name = 'dell';

    public  function _run(){
        echo 'dell在運(yùn)行!';
    }
}

$notecomputer = new NoteComputer();
echo $notecomputer->_name;
$notecomputer->_run();

4.子類調(diào)用父類成員字段和方法,父類成員字段和方法要使用修飾符protected

<?php
//這是父類,電腦類
//為了安全,一般將父類的方法封裝起來,讓子類來調(diào)用,通過子類調(diào)用要設(shè)置protected才能調(diào)用父類
class Computer{

    //私有化,但是無法被子類繼承,這個時候要用受保護(hù)的修飾符來封裝
    protected $_name = '聯(lián)想';

    protected function _run(){
        return '聯(lián)想在運(yùn)行!';
    }
}

//子類,筆記本電腦類
class NoteComputer extends Computer{
    public function getTop(){
        echo $this->_name;
        echo $this->_run();
    }
}

$notecomputer = new NoteComputer();
$notecomputer->getTop();

5.子類已經(jīng)覆蓋了父類,但是又再想調(diào)用父類的成員字段方法

<?php
//這是父類,電腦類
class Computer{
    public $_name = '聯(lián)想';

    public function _run(){
        return '聯(lián)想在運(yùn)行!';
    }
}

//子類,筆記本電腦類
class NoteComputer extends Computer{

    //如果不需要父類的字段和方法,那么可以采用重寫的方法覆蓋掉父類的字段和方法
    //雖然最后調(diào)用的是子類的字段和方法,但是并不代表子類的方法和字段替換了父類,只是因?yàn)樽宇惖膬?yōu)先級比父類高
    //當(dāng)子類已經(jīng)覆蓋了父類的方法和字段
    //但是又想調(diào)用父類的字段和方法,要用類::方法來調(diào)用
    public $_name = 'dell';

    public  function _run(){
        echo 'dell在運(yùn)行!';

        //這兩種方法都能直接調(diào)用父類方法
        echo Computer::_run();
        echo parent::_run();
    }
}

$notecomputer = new NoteComputer();
echo $notecomputer->_name;
$notecomputer->_run();

6.final關(guān)鍵字使用

<?php
//final如果加在類前面,表示這個類不能被繼承
//final class Computer{
//
//}

//class Computer{
//    //final如果加在方法前面,表示不能夠重寫此方法
//    final public function _run(){
//
//    }
//}

class Computer{
    public function _run(){

    }
}

class NoteComputer extends Computer{
    public function _run(){

    }
}

如果喜歡,可以關(guān)注我,希望能認(rèn)識更多志同道合的朋友。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容