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 09 PHP
php入门教程 精简版
Dec 13 PHP
linux iconv方法的使用
Oct 01 PHP
php登陆页的密码处理方式分享
Oct 14 PHP
多个PHP中文字符串截取函数
Nov 12 PHP
浅谈php安全性需要注意的几点事项
Jul 17 PHP
为PHP安装imagick时出现Cannot locate header file MagickWand.h错误的解决方法
Nov 03 PHP
win7系统配置php+Apache+mysql环境的方法
Aug 21 PHP
PHP-X系列教程之内置函数的使用示例
Oct 16 PHP
PHP实现求连续子数组最大和问题2种解决方法
Dec 26 PHP
小程序微信退款功能实现方法详解【基于thinkPHP】
May 05 PHP
PHP SESSION跨页面传递失败解决方案
Dec 11 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中图片等比缩放的实例
2013/03/24 PHP
php数组去除空值函数分享
2015/02/02 PHP
PHP判断是否连接上网络的方法
2015/07/01 PHP
PHP 中 Orientation 属性判断上传图片是否需要旋转
2015/10/16 PHP
微信公众平台DEMO(PHP)
2016/05/04 PHP
PHP容器类的两种实现方式示例
2019/07/24 PHP
Extjs TriggerField在弹出窗口显示不出问题的解决方法
2010/01/08 Javascript
Jquery进度条插件 Progress Bar小问题解决
2011/07/12 Javascript
使用js正则控制input标签只允许输入的值
2013/07/29 Javascript
div失去焦点事件实现思路
2014/04/22 Javascript
JavaScript检测浏览器cookie是否已经启动的方法
2015/02/27 Javascript
jQuery实现可高亮显示的二级CSS菜单效果
2015/09/01 Javascript
基于JavaScript实现智能右键菜单
2016/03/02 Javascript
微信小程序 Windows2008 R2服务器配置TLS1.2方法
2016/12/05 Javascript
纯JS实现表单验证实例
2016/12/24 Javascript
原生JS下拉加载插件分享
2016/12/26 Javascript
实例讲解DataTables固定表格宽度(设置横向滚动条)
2017/07/11 Javascript
jQuery实现的弹幕效果完整实例
2017/09/06 jQuery
[50:05]VGJ.S vs OG 2018国际邀请赛淘汰赛BO3 第二场 8.22
2018/08/23 DOTA
python网络编程之UDP通信实例(含服务器端、客户端、UDP广播例子)
2014/04/25 Python
Python中列表、字典、元组数据结构的简单学习笔记
2016/03/20 Python
python的多重继承的理解
2017/08/06 Python
Python做智能家居温湿度报警系统
2018/09/25 Python
详解python破解zip文件密码的方法
2020/01/13 Python
详解Python多线程下的list
2020/07/03 Python
python识别验证码的思路及解决方案
2020/09/13 Python
CSS 3.0 结合video视频实现的创意开幕效果
2020/06/01 HTML / CSS
详解Html5 Canvas画线有毛边解决方法
2018/03/01 HTML / CSS
谈一谈HTML5本地存储技术
2016/03/02 HTML / CSS
英国50岁以上人群的交友网站:Ourtime
2018/03/28 全球购物
介绍一下SQL注入攻击的种类和防范手段
2012/02/18 面试题
EJB的基本架构
2016/09/22 面试题
门前三包责任书
2014/04/15 职场文书
社区党建工作汇报材料
2014/10/27 职场文书
医生个人年度总结
2015/02/28 职场文书
2015年幼师工作总结
2015/04/28 职场文书