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中数组元素升序、降序以及重新排序的函数
Jun 20 PHP
PHP 冒泡排序 二分查找 顺序查找 二维数组排序算法函数的详解
Jun 25 PHP
php5.5新数组函数array_column使用
Jul 08 PHP
浅析51个PHP处理字符串的函数
Aug 02 PHP
使用PHP导出Redis数据到另一个Redis中的代码
Mar 12 PHP
CI框架在CLI下执行占用内存过大问题的解决方法
Jun 17 PHP
php中socket通信机制实例详解
Jan 03 PHP
实例讲解yii2.0在php命令行中运行的步骤
Dec 01 PHP
详解php中反射的应用
Mar 15 PHP
thinkPHP5.0框架配置格式、加载解析与读取方法
Mar 17 PHP
Yii框架扩展CGridView增加导出CSV功能的方法
May 24 PHP
PHP实现笛卡尔积算法的实例讲解
Dec 22 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
《OVERLORD》第四季,终于等到你!
2020/03/02 日漫
一条久听不愿放下的DIY森海MX500,三言两语话神奇
2021/03/02 无线电
屏蔽浏览器缓存另类方法
2006/10/09 PHP
在PHP中检查PHP文件是否有语法错误的方法
2009/12/23 PHP
解析htaccess伪静态的规则
2013/06/18 PHP
php生成图形(Libchart)实例
2013/11/06 PHP
jQuery easyui datagrid动态查询数据实例讲解
2013/02/26 Javascript
css transform 3D幻灯片特效实现步骤解读
2013/03/27 Javascript
Javascript 赋值机制详解
2014/11/23 Javascript
jQuery的css()方法用法实例
2014/12/24 Javascript
jQuery插件EnPlaceholder实现输入框提示文字
2015/06/05 Javascript
浅析js中substring和substr的方法
2015/11/09 Javascript
javascript+css3 实现动态按钮菜单特效
2016/02/06 Javascript
JS鼠标滚动分页效果示例
2017/07/05 Javascript
JavaScript callback回调函数用法实例分析
2018/05/08 Javascript
vue better scroll 无法滚动的解决方法
2018/06/07 Javascript
vue实例中data使用return包裹的方法
2018/08/27 Javascript
PWA介绍及快速上手搭建一个PWA应用的方法
2019/01/27 Javascript
基于jQuery实现挂号平台首页源码
2020/01/06 jQuery
JS如何在数组指定位置插入元素
2020/03/10 Javascript
Python排序搜索基本算法之选择排序实例分析
2017/12/09 Python
python 普通克里金(Kriging)法的实现
2019/12/19 Python
Python tkinter常用操作代码实例
2020/01/03 Python
python中urllib.request和requests的使用及区别详解
2020/05/05 Python
基于python 取余问题(%)详解
2020/06/03 Python
python openssl模块安装及用法
2020/12/06 Python
自我推荐书
2013/12/04 职场文书
称象教学反思
2014/02/03 职场文书
摄影专业毕业生求职信
2014/08/05 职场文书
2014年学校体育工作总结
2014/12/08 职场文书
麦田里的守望者读书笔记
2015/06/30 职场文书
致运动员赞词
2015/07/22 职场文书
《海上日出》教学反思
2016/02/23 职场文书
Win10 heic文件怎么打开 ? Win10 heic文件打开教程
2022/04/06 数码科技
关于pytest结合csv模块实现csv格式的数据驱动问题
2022/05/30 Python
Python编写车票订购系统 Python实现快递收费系统
2022/08/14 Python