1.instanceof关键词使用
<?php
class Computer{
}
$computer = new Computer();
echo ($computer instanceof Computer);
//instanceof关键词用于判断$computer是否是类Computer下的对象
2.面向对象特性1继承,使用 extends关键词
<?php
//这是父类,电脑类
class Computer{
public $_name = '联想';
public function _run(){
echo '联想在运行!';
}
}
//子类,笔记本电脑类
class NoteComputer extends Computer{
}
$notecomputer = new NoteComputer();
echo $notecomputer->_name;
$notecomputer->_run();
3.方法重载
<?php
//这是父类,电脑类
class Computer{
public $_name = '联想';
public function _run(){
echo '联想在运行!';
}
}
//子类,笔记本电脑类
class NoteComputer extends Computer{
//如果不需要父类的字段和方法,那么可以采用重写的方法覆盖掉父类的字段和方法
//虽然最后调用的是子类的字段和方法,但是并不代表子类的方法和字段替换了父类,只是因为子类的优先级比父类高
public $_name = 'dell';
public function _run(){
echo 'dell在运行!';
}
}
$notecomputer = new NoteComputer();
echo $notecomputer->_name;
$notecomputer->_run();
4.子类调用父类成员字段和方法,父类成员字段和方法要使用修饰符protected
<?php
//这是父类,电脑类
//为了安全,一般将父类的方法封装起来,让子类来调用,通过子类调用要设置protected才能调用父类
class Computer{
//私有化,但是无法被子类继承,这个时候要用受保护的修饰符来封装
protected $_name = '联想';
protected function _run(){
return '联想在运行!';
}
}
//子类,笔记本电脑类
class NoteComputer extends Computer{
public function getTop(){
echo $this->_name;
echo $this->_run();
}
}
$notecomputer = new NoteComputer();
$notecomputer->getTop();
5.子类已经覆盖了父类,但是又再想调用父类的成员字段方法
<?php
//这是父类,电脑类
class Computer{
public $_name = '联想';
public function _run(){
return '联想在运行!';
}
}
//子类,笔记本电脑类
class NoteComputer extends Computer{
//如果不需要父类的字段和方法,那么可以采用重写的方法覆盖掉父类的字段和方法
//虽然最后调用的是子类的字段和方法,但是并不代表子类的方法和字段替换了父类,只是因为子类的优先级比父类高
//当子类已经覆盖了父类的方法和字段
//但是又想调用父类的字段和方法,要用类::方法来调用
public $_name = 'dell';
public function _run(){
echo 'dell在运行!';
//这两种方法都能直接调用父类方法
echo Computer::_run();
echo parent::_run();
}
}
$notecomputer = new NoteComputer();
echo $notecomputer->_name;
$notecomputer->_run();
6.final关键字使用
<?php
//final如果加在类前面,表示这个类不能被继承
//final class Computer{
//
//}
//class Computer{
// //final如果加在方法前面,表示不能够重写此方法
// final public function _run(){
//
// }
//}
class Computer{
public function _run(){
}
}
class NoteComputer extends Computer{
public function _run(){
}
}
如果喜欢,可以关注我,希望能认识更多志同道合的朋友。