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)識更多志同道合的朋友。