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一些服务器端特性的配置加强php的安全
Oct 09 PHP
PHP中常用数组处理方法实例分析
Aug 30 PHP
PHP 数据结构 算法 三元组 Triplet
Jul 02 PHP
PHP数组及条件,循环语句学习
Nov 11 PHP
php截取字符串并保留完整xml标签的函数代码
Feb 06 PHP
优化PHP代码技巧的小结
Jun 02 PHP
将word转化为swf 如同百度文库般阅读实现思路及代码
Aug 09 PHP
摘自织梦CMS的HTTP文件下载类
Aug 08 PHP
PHP5.4起内置web服务器使用方法
Aug 09 PHP
thinkphp5 URL和路由的功能详解与实例
Dec 26 PHP
针对PHP开发安全问题的相关总结
Mar 22 PHP
PHP面向对象程序设计之构造方法和析构方法详解
Jun 13 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
javascript 小型动画组件与实现代码
2010/06/02 PHP
php中创建和调用webservice接口示例
2014/07/25 PHP
PHP 7.1中AES加解密方法mcrypt_module_open()的替换方案
2017/10/17 PHP
用javascript做拖动布局的思路
2008/05/31 Javascript
关于URL中的特殊符号使用介绍
2011/11/03 Javascript
实现web打印的各种方法介绍及实现代码
2013/01/09 Javascript
jQuery之选择组件的深入解析
2013/06/19 Javascript
JavaScript中的运算符种类及其规则介绍
2013/09/26 Javascript
封装了jQuery的Ajax请求全局配置
2015/02/05 Javascript
js判断手机浏览器操作系统和微信浏览器的方法
2016/04/30 Javascript
AngularJs $parse、$eval和$observe、$watch详解
2016/09/21 Javascript
微信小程序 获取微信OpenId详解及实例代码
2016/10/31 Javascript
关于Vue.js一些问题和思考学习笔记(1)
2016/12/02 Javascript
基于jquery二维码生成插件qrcode
2017/01/07 Javascript
vue的传参方式汇总和router使用技巧
2018/05/22 Javascript
js实现敏感词过滤算法及实现逻辑
2018/07/24 Javascript
ES6中let 和 const 的新特性
2018/09/03 Javascript
通过实践编写优雅的JavaScript代码
2019/05/30 Javascript
微信小程序前端自定义分享的实现方法
2019/06/13 Javascript
Vue使用mixin分发组件的可复用功能
2019/09/01 Javascript
element跨分页操作选择详解
2020/06/29 Javascript
[00:12]2018DOTA2亚洲邀请赛 sylar表现SOLO技艺
2018/04/06 DOTA
[20:30]职业巡回赛回顾
2018/08/09 DOTA
python 判断矩阵中每行非零个数的方法
2019/01/26 Python
python接口自动化(十七)--Json 数据处理---一次爬坑记(详解)
2019/04/18 Python
python和pywin32实现窗口查找、遍历和点击的示例代码
2020/04/01 Python
html5利用canvas绘画二级树形结构图的示例
2017/09/27 HTML / CSS
美国快时尚彩妆品牌:Winky Lux(透明花瓣润唇膏)
2018/11/06 全球购物
求最大连续递增数字串(如"ads3sl456789DF3456ld345AA"中的"456789")
2015/09/11 面试题
面向对象概念面试题(.NET)
2016/11/04 面试题
计算机专业职业生涯规划范文
2014/01/19 职场文书
后勤管理员岗位职责
2014/08/27 职场文书
小学国庆节活动方案策划书
2014/09/16 职场文书
大学学生个人总结
2015/02/15 职场文书
环保建议书作文400字
2015/09/14 职场文书
关于Python中进度条的六个实用技巧分享
2022/04/05 Python