位置: 编程技术 - 正文

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动态变量)

  • 借款合同印花税减免优惠政策2022
  • 开办期间的费用,没有发票,咋抵扣啊
  • 青年企业家协会入会要求
  • 怎么识别发票是否含税
  • 现金支票 差旅费
  • 私立医院收到投诉信
  • 当月采购发票未到如何做账及结转成本?
  • 工厂投产前的准备工作有哪些
  • 境外派遣员工境外所得税是什么时候申报?
  • 土地转让收入怎么交所得税?
  • 未取得发票列支成本违反法律
  • 增值税专用发票怎么开
  • 报关单出口退税联模板
  • 生产车间员工体检费怎么入账
  • 个人去税务局开劳务票 税点是多少
  • 该纳税人无发票相关信息
  • 公司注销过了公示期不去有问题
  • 实收资本选择什么子目
  • 个税专项附加扣除是什么意思
  • 外购公司的长期投资如何做账
  • 坏账准备对利润表
  • 企业零申报用错法人情况说明
  • 公司经营权补偿款会计处理?
  • 3%征收率减按2%征收增值税怎么算
  • 企业对外捐赠的税法处理
  • 服务佣金是什么意思
  • 如何获取文件夹下所有文件
  • 在win7中如何设置屏幕保护程序
  • linux 传输文件
  • 苹果a1586是什么配置
  • 支付宝花呗服务费收费标准
  • 一般纳税人做账报税的整个流程详细
  • 固定资产原值,净值,价值的区别
  • php中如何获取数组的长度
  • WIN7系统如何共享打印机
  • 外商投资企业有哪些出资方式
  • vue input value
  • 计提企业税费和缴纳分录怎么做
  • php cache缓存
  • 润滑油一般纳税人税率是多少
  • 收到银行存款利息计入什么科目
  • 为什么要扩展
  • 总公司与分公司合作协议范本
  • 进项税额大于销项税额期末留抵
  • python字典遍历key
  • 个人转帐多少不引起注意
  • 当月利息发票未开可以先入账吗
  • 租金收入怎么做分录
  • 从合同有什么
  • 会计学中的折旧是什么意思
  • SQL Server UPDATE语句的用法详解
  • 公司名下的车怎样领免检标志
  • 工程物资属于什么科目资产负债表
  • 代缴社保的好处有哪些
  • 广告公司制作警车违法吗
  • 出租房屋损坏赔偿
  • 递延收益的会计处理
  • 破产重组还需要还钱吗
  • 应收账款余额等于什么?
  • sqlserver msdb
  • fedora32
  • macos finder的应用程序列表在哪里
  • 在linux中使用什么命令可以执行shell脚本
  • 如何快速查询身份证号码
  • win8.1无法启动
  • linux命令行怎么用
  • 运维是什么的
  • cocos2dx3.4 Menu
  • div自动适应宽度
  • js双击触发
  • js展示
  • scp 将数据从一台linux服务器复制到另一台linux服务器
  • jquery mobile app
  • 北京中石化开增票各区网点
  • 消费税纳税申报流程图
  • 黑龙江省国家税务局通用定额发票
  • 一般纳税人销售收入分录
  • 法人实名采集必须去现场吗
  • 民营非盈利医院能转让吗
  • 土地增值税扣除项目金额怎么计算
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设