位置: 编程技术 - 正文

PHP中子类重载父类的方法【parent::方法名】(php方法重载)

编辑:rootadmin

推荐整理分享PHP中子类重载父类的方法【parent::方法名】(php方法重载),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:php子类获取父类对象,php 子类重写父类protected有什么限制,子类重载父类方法,php 子类重写父类protected有什么限制,php 子类重写父类protected有什么限制,php中子类最多可以继承几个父类,php子类调用父类方法,php 子类重写父类protected有什么限制,内容如对您有帮助,希望把文章链接给更多的朋友!

在PHP中不能定义重名的函数,也包括不能再同一个类中定义重名的方法,所以也就没有方法重载。单在子类中可以定义和父类重名的方法,因为父类的方法已经在子类中存在,这样在子类中就可以把从父类中继承过来的方法重写。

子类中重载父类的方法就是在子类中覆盖从父类中继承过来的方法,父类中的方法被子类继承过来不就可以直接使用吗?为什么还要重载呢?因为有一些情况我们必须要覆盖的。例如,有一个“鸟”类,在这个类中定义了鸟的通用方法“飞翔”。将“鸵鸟”类作为它的子类,就会将“飞翔”的方法继承过来,但只要一调用“鸵鸟”类中的这个“飞翔”的方法,鸵鸟就会飞走。虽然鸵鸟是不会飞的,但其他特性都具有“鸟类”的特性,所以在声明“鸵鸟”类时还是可以继承“鸟”类的,但必须在“鸵鸟”类中将“鸟”类中继承过来的“飞翔”方法改写,就需要在子类中重载父类中的方法。

在下面的例子中,声明的Person类中有一个“说话”方法,Student类继承Person类后可以直接使用“说话”方法。但Person类中的“说话”方法只能说出它自己的成员属性,而Student类对Person类进行了扩展,多添加了几个新的成员属性。代码如下所示:

改程序运行后输出的结果为:

PHP中子类重载父类的方法【parent::方法名】(php方法重载)

我的名字叫:张三,性别:男,我的年龄是:,在edu学校上学

在PHP中,提供了在子类重载的方法中调用父类被覆盖方法的功能。这样就可以在子类重写的方法中,继续使用从父类继承过来并被覆盖的方法,然后再按要求多添加一些新功能。调用的格式是使用“parent:方法名”在子类的重载方法中调用父类中被覆盖的方法。将上例中的代码修改一下,在子类重写的构造方法中使用“parent::__construct()”调用父类中被覆盖的构造方法,再多添加一条对子类中新扩展的成员属性初始化的代码。在子类中重写的say()方法中使用“parent::say()”调用父类中被覆盖的say()方法,再添加上输出子类成员属性的功能。

代码如下所示:

上面的例子输出的结果和前一个例子是一样的,但在本例中通过在子类中直接调用父类中被覆盖的方法要简便很多。另外,在子类覆盖父类的方法时一定要注意,在子类中重写的方法访问权限一定不能低于父类被覆盖的方法的访问权限。例如,如果父类中的访问权限是protected,那么在子类中重写的方法的权限就要是protected或public。

以上内容是小编给大家介绍的PHP中子类重载父类的方法【parent::方法名】的相关内容,希望对大家有所帮助!如果大家想了解更多资讯,敬请关注积木网网站!

PHP动态地创建属性和方法, 对象的复制, 对象的比较,加载指定的文件,自动加载类文件,命名空间 PHP前言:动态地创建属性和方法对象的复制对象的比较加载指定的文件自动加载类文件命名空间示例1、类的相关知识点3(动态地创建属性和方法)class/

一波PHP中cURL库的常见用法代码示例 php的CURL是不错的功能,下面收藏几段不错的片段0、基本例子一般流程:$to_url=$_GET['url'];print_r($_GET);if(substr($to_url,0,1)=='/'){$to_url="

PHP检测链接是否存在的代码实例分享 在PHP中,检查某个链接是否存在,有两个方法,一个是使用curl,另外一个是获得HTTP的header的响应码,如果是的则是OK,如果是的话就找不到了,例子如下:1)使

标签: php方法重载

本文链接地址:https://www.jiuchutong.com/biancheng/293602.html 转载请保留说明!

上一篇:PHP+Jquery与ajax相结合实现下拉淡出瀑布流效果【无需插件】

下一篇:PHP动态地创建属性和方法, 对象的复制, 对象的比较,加载指定的文件,自动加载类文件,命名空间(php动态变量)

  • 税收申报减免
  • 本年利润总分类账图片
  • 小规模纳税人专票免税吗?
  • 初级职称需要进行继续教育吗
  • 怎么报企业所得税季报
  • 工资 小数点
  • 小规模纳税人综合税负
  • 增值税可以做平吗
  • 装修预付款怎么做分录
  • 费用跨年入账所得怎么算
  • 车间消耗品的会计分录
  • 转给个人账户的钱可以追回来了吗?
  • 房屋租赁合同税率怎么算
  • 商业企业取得农产品税收
  • 房地产企业增值税预缴
  • 增值税专用发票跨月退回怎么办?
  • 不经常发生应税行为的企业可以选择按小规模纳税人纳税
  • 小企业处置固定资产
  • 出售废旧物资可以开专票吗
  • 应付票据属于什么类账户
  • 企业所得税汇算清缴
  • 出口货物免征增值税的有哪些
  • 盘盈对应的入账科目
  • 股东分配利润的程序
  • cookie 区别
  • php实现文件上传
  • 融资租入的设备为什么属于资产
  • php ftell
  • springboot整合了哪些框架
  • 融资性租赁的优缺点
  • 进价金额核算法的账务处理特点
  • 智能路由器五个灯一直闪
  • 年终结算啥意思
  • 微信公众平台的名词解释
  • php数据的提交与采集实验报告
  • vue笔记项目
  • 建行E信通贴现需要发票吗
  • 大学生问卷spss数据分析作业
  • php二维数组foreach
  • 年应税额是怎么算的
  • 固定资产实收资本按照什么入账
  • 工会经费和残保金不交有什么影响
  • sql语句优化实例
  • 送货单收据怎么写
  • SQL2008中通过DBCC OPENTRAN和会话查询事务
  • 集团公司一般怎么称呼
  • 捐赠货物的增值税可以税前扣除吗
  • 上年多交的增值税怎么调整
  • 小规模纳税人报税
  • 所得税费用影响当期损益吗
  • 扣除未结话费是什么意思
  • 营改增后增值税增加了什么征收范围
  • 预付卡销售和充值怎么做账
  • 机票退票手续费可以开发票吗
  • 品牌代理费计入什么科目
  • 资本公积可以随便增加吗
  • 公司固定资产有很多种类,怎样计提折旧
  • mysql类型varchar长度
  • mysqldump -w
  • fedora最新版本
  • remupd.exe - remupd是什么进程 有什么用
  • win10 系统桌面
  • linux免安装软件
  • cocos2dx schedule
  • 基于jQuery的设计与实现
  • bootstrap表格内容模板
  • linux dev/sr0
  • HTTP 304错误的详细讲解
  • css兼容浏览器
  • js双击触发
  • 介绍一个简单的实验
  • node js官网
  • nodejs创建项目
  • 使用jquery实现的项目
  • jquery easyui从零开始学pdf
  • JQuery解析XML的方法小结
  • android背景图片透明度alpha
  • javascript日常用途有哪些
  • javascript的介绍
  • 乾隆年间财政收入统计表
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设