PHP面向对象特性-继承
来源:互联网 发布:java序列化 编辑:程序博客网 时间:2024/06/16 05:49
1、继承
定义:继承是从一个基类得到一个或多个类的机制。
关键字:extends
注: PHP只支持单继承,不支持方法重载。
2、例子
class Computer{ public $_name = '联想'; public function _run(){ echo '联想在运行'; } } class NoteComputer extends Computer{ } $notecomputer = new NoteComputer(); echo $notecomputer->_name; $notecomputer->_run();
3、重写
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
父类私有化时,无法被子类继承,这个时候应该用受保护的(protected )修饰符。
class Computer{ protected $_name = '联想'; protected function _run(){ echo '联想在运行'; } } class NoteComputer extends Computer{ public function getTop(){ echo $this->_name; echo $this->_run(); } } $notecomputer = new NoteComputer(); $notecomputer->getTop();
5、重写调用父类方法
子类已经覆盖父类字段和方法,还想调用父类该怎么办?
class Computer{ public $_name = '联想'; //字段无法调用 public function _run(){ echo '联想在运行'; } } 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关键字
//final 如果加在类前 表示不能被继承 final class Computer{ } class NoteComputer extends Computer{ } class Computer{ //final 加在方法前,表示不能被重写 final public function _run() } class NoteComputer extends Computer{ }
阅读全文
1 0
- PHP面向对象----继承特性
- PHP面向对象特性-继承
- PHP面向对象继承特性的笔记
- PHP面向对象编程三大特性之继承特性
- 面向对象特性-继承
- 面向对象特性-继承
- PHP面向对象特性
- php面向对象--继承
- PHP面向对象:继承
- 面向对象的特性:继承
- PHP面向对象相关特性
- PHP面向对象高级特性
- PHP面向对象特性-封装
- PHP面向对象特性-多态
- PHP面向对象1.5 继承
- php面向对象之继承
- php面向对象之继承
- 第四天面向对象之继承特性
- 【Away3D代码解读】(三):渲染核心流程(渲染)
- Java设计模式简介
- HUSTOJ随笔3-配置文件
- 基于HtmlUnit获取页面及复选框元素、单击事件操作
- C语言中的数据类型和隐式转换
- PHP面向对象特性-继承
- bootstrap-dataTable重写表格位置
- selenium的第一次操作总结
- Linux输入子系统学习笔记
- 现在很多的手机应用,都可能会直接嵌入一个web页面。这样做的好处:一个是功能更新方便,维护起来容易,只需要维护服务器的页面即可,不需要更新客户端;另一个是功能通用,不仅Android可以用,iOS也可
- Eclipse启动失败java was started but returned exit code=1
- 百度2017春招笔试真题编程题集合--有趣的排序
- oracle数据库解密方法
- 清华大学计算机研究生课程表