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在XP下IIS和Apache2服务器上的安装
Sep 05 PHP
PHP生成带有雪花背景的验证码
Sep 28 PHP
PHP学习笔记 IIS7下安装配置php环境
Oct 29 PHP
php实现的九九乘法口诀表简洁版
Jul 28 PHP
php向js函数传参的几种方法
Aug 10 PHP
PHP实现抓取HTTPS内容
Dec 01 PHP
Yii快速入门经典教程
Dec 28 PHP
php each 返回数组中当前的键值对并将数组指针向前移动一步实例
Nov 22 PHP
Zend Framework数据库操作技巧总结
Feb 18 PHP
PHP缓存工具XCache安装与使用方法详解
Apr 09 PHP
PHP封装的数据库模型Model类完整示例【基于PDO】
Mar 14 PHP
Laravel框架集成UEditor编辑器的方法图文与实例详解
Apr 17 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 set_error_handler()函数使用详解(示例)
2013/11/12 PHP
使用Laravel中的查询构造器实现增删改查功能
2019/09/03 PHP
url 特殊字符 传递参数解决方法
2010/01/01 Javascript
关于javascript中this关键字(翻译+自我理解)
2010/10/20 Javascript
Jquery 点击按钮显示和隐藏层的代码
2011/07/25 Javascript
超级好用的jQuery圆角插件 Corner速成
2014/08/31 Javascript
js Object2String方便查看js对象内容
2014/11/24 Javascript
包含中国城市的javascript对象实例
2015/08/03 Javascript
javascript实现图片轮播效果
2016/01/20 Javascript
js获取Get值的方法
2016/09/29 Javascript
jQuery DateTimePicker 日期和时间插件示例
2017/01/22 Javascript
NodeJs通过async/await处理异步的方法
2017/10/09 NodeJs
中高级前端必须了解的JS中的内存管理(推荐)
2019/07/04 Javascript
原生javascript中this几种常见用法总结
2020/02/24 Javascript
Vue的全局过滤器和私有过滤器的实现
2020/04/20 Javascript
Node.js API详解之 tty功能与用法实例分析
2020/04/27 Javascript
[01:34]完美“圣”典宣传片震撼发布,12.17与你不见不散
2016/12/16 DOTA
python读取html中指定元素生成excle文件示例
2014/04/03 Python
Python易忽视知识点小结
2015/05/25 Python
wxPython定时器wx.Timer简单应用实例
2015/06/03 Python
Python抓取框架 Scrapy的架构
2016/08/12 Python
python 队列详解及实例代码
2016/10/18 Python
通过python爬虫赚钱的方法
2019/01/29 Python
python使用Paramiko模块实现远程文件拷贝
2019/04/30 Python
Python 抓取微信公众号账号信息的方法
2019/06/14 Python
pygame实现俄罗斯方块游戏(AI篇2)
2019/10/29 Python
Python对Tornado请求与响应的数据处理
2020/02/12 Python
Python 实现PS滤镜中的径向模糊特效
2020/12/03 Python
一文读懂python Scrapy爬虫框架
2021/02/24 Python
法雷奥SQA(electric)面试问题
2016/01/23 面试题
高中自我鉴定范文
2013/11/03 职场文书
中专自我鉴定
2014/02/05 职场文书
2015年圣诞节活动总结
2015/03/24 职场文书
2017年寒假少先队活动总结
2016/04/06 职场文书
关于@OnetoMany关系映射的排序问题,使用注解@OrderBy
2021/12/06 Java/Android
css3属性选择器 “~”(波浪号) “,”(逗号) “+”(加号)和 “>”(大于号)
2022/04/19 HTML / CSS