PHP 对象继承原理与简单用法示例


Posted in PHP onApril 21, 2020

本文实例讲述了PHP 对象继承原理与简单用法。分享给大家供大家参考,具体如下:

对象继承

继承已为大家所熟知的一个程序设计特性,PHP 的对象模型也使用了继承。继承将会影响到类与类,对象与对象之间的关系。

比如,当扩展一个类,子类就会继承父类所有公有的和受保护的方法。除非子类覆盖了父类的方法,被继承的方法都会保留其原有功能。

继承对于功能的设计和抽象是非常有用的,而且对于类似的对象增加新功能就无须重新再写这些公用的功能。

Note:

除非使用了自动加载,否则一个类必须在使用之前被定义。如果一个类扩展了另一个,则父类必须在子类之前被声明。此规则适用于类继承其它类与接口。

继承示例

<?php

class foo
{
  public function printItem($string) 
  {
    echo 'Foo: ' . $string . PHP_EOL;
  }
  
  public function printPHP()
  {
    echo 'PHP is great.' . PHP_EOL;
  }
}

class bar extends foo
{
  public function printItem($string)
  {
    echo 'Bar: ' . $string . PHP_EOL;
  }
}

$foo = new foo();
$bar = new bar();
$foo->printItem('baz'); // Output: 'Foo: baz'
$foo->printPHP();    // Output: 'PHP is great' 
$bar->printItem('baz'); // Output: 'Bar: baz'
$bar->printPHP();    // Output: 'PHP is great'

希望本文所述对大家PHP程序设计有所帮助。

PHP 相关文章推荐
php 数学运算验证码实现代码
Oct 11 PHP
php echo, print, print_r, sprintf, var_dump, var_expor的使用区别
Jun 20 PHP
php对图像的各种处理函数代码小结
Jul 08 PHP
php导出word格式数据的代码实例
Nov 25 PHP
微信公众平台网页授权获取用户基本信息中授权回调域名设置的变动
Oct 21 PHP
PHP之正则表达式捕获组与非捕获组(详解)
Jul 29 PHP
PHP内核探索之解释器的执行过程
Dec 22 PHP
PHPExcel笔记, mpdf导出
May 03 PHP
浅谈PHP链表数据结构(单链表)
Jun 08 PHP
php array_walk 对数组中的每个元素应用用户自定义函数详解
Nov 18 PHP
PHP使用gearman进行异步的邮件或短信发送操作详解
Feb 27 PHP
ThinkPHP5与单元测试PHPUnit使用详解
Feb 23 PHP
php判断某个方法是否存在函数function_exists (),method_exists()与is_callable()区别与用法解析
Apr 20 #PHP
ThinkPHP3.1.2 使用cli命令行模式运行的方法
Apr 14 #PHP
Laravel 框架控制器 Controller原理与用法实例分析
Apr 14 #PHP
Laravel 框架路由原理与路由访问实例分析
Apr 14 #PHP
Laravel 框架基于自带的用户系统实现登录注册及错误处理功能分析
Apr 14 #PHP
PHP 范围解析操作符(::)用法分析【访问静态成员和类常量】
Apr 14 #PHP
PHP 自动加载类原理与用法实例分析
Apr 14 #PHP
You might like
php&amp;java(二)
2006/10/09 PHP
javascript比较文档位置
2008/04/08 Javascript
弹出层之1:JQuery.Boxy (一) 使用介绍
2011/10/06 Javascript
JSON 数据格式介绍
2012/01/13 Javascript
基于jquery ajax 用户无刷新登录方法详解
2012/04/28 Javascript
Asp.Net alert弹出提示信息的几种方法总结
2014/01/29 Javascript
js 判断js函数、变量是否存在的简单示例代码
2014/03/04 Javascript
jquery实现鼠标滑过小图时显示大图的方法
2015/01/14 Javascript
require.js的用法详解
2015/10/20 Javascript
分享Javascript实用方法二
2015/12/13 Javascript
jQuery实现判断控件是否显示的方法
2017/01/11 Javascript
Angularjs单选改为多选的开发过程及问题解析
2017/02/17 Javascript
vue中用动态组件实现选项卡切换效果
2017/03/25 Javascript
angularjs2 ng2 密码隐藏显示的实例代码
2017/08/01 Javascript
基于js中style.width与offsetWidth的区别(详解)
2017/11/12 Javascript
JS脚本实现网页自动秒杀点击
2018/01/11 Javascript
使用layer弹窗和layui表单实现新增功能
2018/08/09 Javascript
JavaScript判断对象和数组的两种方法
2019/05/31 Javascript
浅析vue中的provide / inject 有什么用处
2019/11/10 Javascript
Vue + Scss 动态切换主题颜色实现换肤的示例代码
2020/04/27 Javascript
[01:11:32]VG vs FNATIC 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/17 DOTA
Python中time模块和datetime模块的用法示例
2016/02/28 Python
python+unittest+requests实现接口自动化的方法
2018/11/29 Python
Python实现字典按key或者value进行排序操作示例【sorted】
2019/05/03 Python
Python使用itchat模块实现群聊转发,自动回复功能示例
2019/08/26 Python
python实现上传文件到linux指定目录的方法
2020/01/03 Python
python手写均值滤波
2020/02/19 Python
Python如何读取、写入CSV数据
2020/07/28 Python
CSS 说明横向进度条最后显示文字的实现代码
2020/11/10 HTML / CSS
高中生学习生活的自我评价
2013/11/27 职场文书
机关节能减排实施方案
2014/03/17 职场文书
小学生安全演讲稿
2014/04/25 职场文书
2014年扫黄打非工作总结
2014/12/03 职场文书
文明家庭事迹材料
2014/12/20 职场文书
学雷锋倡议书
2015/01/19 职场文书
基于Nginx实现限制某IP短时间访问次数
2021/03/31 Servers