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脚本的10个技巧(2)
Oct 09 PHP
PHP 木马攻击防御技巧
Jun 13 PHP
Yii实现自动加载类地图的方法
Apr 01 PHP
分享10段PHP常用代码
Nov 11 PHP
PHP使用mkdir创建多级目录的方法
Dec 22 PHP
PHP实现的构造sql语句类实例
Feb 03 PHP
php实现常见图片格式的水印和缩略图制作(面向对象)
Jun 15 PHP
PHP加密技术的简单实现
Sep 04 PHP
PHP长连接实现与使用方法详解
Feb 11 PHP
php框架CodeIgniter主从数据库配置方法分析
May 25 PHP
PHP使用SMTP邮件服务器发送邮件示例
Aug 28 PHP
Laravel自动生成UUID,从建表到使用详解
Oct 24 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数组实现无限分类,不使用数据库,不使用递归.
2006/12/09 PHP
php5中date()得出的时间为什么不是当前时间的解决方法
2008/06/30 PHP
php实现下载限制速度示例分享
2014/02/13 PHP
php实现过滤表单提交中html标签的方法
2014/10/17 PHP
PHP实现深度优先搜索算法(DFS,Depth First Search)详解
2017/09/16 PHP
javascript 图片上一张下一张链接效果代码
2010/03/12 Javascript
快速排序 php与javascript的不同之处
2011/02/22 Javascript
Extjs grid添加一个图片状态或者按钮的方法
2014/04/03 Javascript
在JavaScript应用中实现延迟加载的方法
2015/06/25 Javascript
JavaScript实现页面跳转的方式汇总
2016/05/16 Javascript
jQuery实现大图轮播
2017/02/13 Javascript
JavaScript登录验证基础教程
2017/11/01 Javascript
使用Vue写一个datepicker的示例
2018/01/27 Javascript
node.js使用yargs处理命令行参数操作示例
2020/02/11 Javascript
JS实现可控制的进度条
2020/03/25 Javascript
基于vue3.0.1beta搭建仿京东的电商H5项目
2020/05/06 Javascript
Vue 组件的挂载与父子组件的传值实例
2020/09/02 Javascript
详解使用Python处理文件目录的相关方法
2015/10/16 Python
深入理解python try异常处理机制
2016/06/01 Python
python常用函数详解
2016/09/13 Python
python2 与 python3 实现共存的方法
2018/07/12 Python
python 判断文件还是文件夹的简单实例
2019/06/10 Python
python自动发微信监控报警
2019/09/06 Python
Tensorflow设置显存自适应,显存比例的操作
2020/02/03 Python
python实例化对象的具体方法
2020/06/17 Python
解决PyCharm不在run输出运行结果而不是再Console里输出的问题
2020/09/21 Python
Django模板报TemplateDoesNotExist异常(亲测可行)
2020/12/18 Python
Funko官方商店:源自美国,畅销全球搪胶收藏玩偶
2018/09/15 全球购物
2019年Java 最常见的 面试题
2016/10/19 面试题
和谐家庭事迹材料
2014/12/20 职场文书
学前班幼儿评语大全
2014/12/29 职场文书
平凡的世界读书笔记
2015/06/25 职场文书
python 实现体质指数BMI计算
2021/05/26 Python
gojs实现蚂蚁线动画效果
2022/02/18 Javascript
WebRTC记录音视频流(web技术分享)
2022/02/24 Javascript
电脑关机速度很慢怎么办 提升电脑关机速度设置教程
2022/04/08 数码科技