位置: 编程技术 - 正文

PHP面向对象学习之parent::关键字(php面向对象的三大特征)

编辑:rootadmin

推荐整理分享PHP面向对象学习之parent::关键字(php面向对象的三大特征),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:php语言之面向对象编程 educoder,php面向对象优点,缺点,php语言之面向对象编程 educoder,php面向对象的三大特征,php面向对象编程,php面向对象的三大特征,php面向对象编程,php面向对象的三大特征,内容如对您有帮助,希望把文章链接给更多的朋友!

前言

最近在做THINKPHP开发项目中,用到了 parent:: 关键字,实际上 parent::关键字 是PHP中常要用到的一个功能,这不仅仅是在 THINKPHP 项目开发中,即使是一个小型的企业站点,也会有许多相同的function功能,我们可以封装成一个父类 class,然后多个子类直接继承公共部分父类。

PHP5中使用parent::来引用父类的方法。

parent:: 可用于调用父类中定义的成员方法。

parent::的追溯不仅于直接父类。

通过parent::调用父类方法

程序运行结果:

普通员工的工资是

经理的工资是:

父类的private属性

这个东西解释起来十分的不爽。

Private属性是不能被继承的,如果父类有私有的属性。那么父类的方法只为父类的私有属性服务。

下面的例子看起来很奇怪,在子类中重新定义了一个属性$sal,系统却返回了父类的属性。

程序运行结果:

PHP 5.2.9

parent's $sal

如果父类中的属性被子类重写了。结果是这样的。注意 第5行的属性定义变成了protected。

程序运行结果:

PHP 5.2.9

PHP面向对象学习之parent::关键字(php面向对象的三大特征)

parent's $sal

子类中重写的方法对当前private有效。

程序运行结果:

PHP 5.2.9

parent's $sal

打开zend调试状态看看,内存中的情况。注意最下面,有两个$sal 。分别是 和 。

程序运行结果:

PHP 5.2.9

将父类的属性$sal 改成 protected ,子类重写了父类的属性。在内存中只有一个 $sal 。

程序运行结果:

PHP 5.2.9

如果你学过java,你会觉得这一切都是很难理解的。

在Java中当子类被创建时,父类的属性和方法在内存中都被创建,甚至构造函数也要被调用。

PHP5不是这样,PHP5调用父类用的是parent:: 而不是 parent-> ,这足以说明PHP5不想在内存中让父类也被创建。PHP5想让继承变的比Java更简单。

适应下就好。

这样调用会让PHP5.1.1溢出。新版不知道有没有问题。

第行改成这样就好了。注意比较。

return parent:: getSal();

这样的代码引起了递归操作,子类调用父类的方法,父类又调用子类方法。

return parent::$this->getSal();

总结

标签: php面向对象的三大特征

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

上一篇:php输出含有“#”字符串的方法(php输出语法)

下一篇:利用PHP获取网站访客的所在地位置(php获取网页源代码)

  • 出口退税的条件有哪些
  • 农产品进项税额抵扣最新政策
  • 国际反避税措施
  • 新准则金融资产科目名称
  • 个税申报赡养老人可以填公婆吗
  • 当月开票没有收到钱
  • 公司付其他公司的工资
  • 税种认定网上操作流程
  • 购置税发票如何下载
  • 产品入库实际成本是什么凭证
  • 工程未完工但已开票
  • 库存品种
  • 企业职工报销签单怎么写
  • 以固定资产增资子公司 可以溢价么
  • 分公司收到的总部拨款会计如何处理
  • 事业单位自筹事业人员
  • 车辆固定资产清理
  • 怎么合理规范地避免企业涉税风险?
  • 核定征收营业范围
  • 免抵退税系统操作流程
  • 机器设备进项税额是否要分期抵扣
  • 关于营改增发票开具的热点问题
  • 按季申报是什么意思
  • 税务机关核定征收契税
  • 两万元大写金额报销单怎么写
  • 残疾人保障金人数
  • 商品入库没有收到发票
  • 年初未分配利润是什么科目
  • 在win7中,为什么打开盘符在新窗口中出现?
  • deepin隐藏分区
  • 中文字符和英文字符的转换
  • 结转损益和结转成本
  • 增值税中非经营活动包括哪些
  • 龙骨花的养殖方法移植
  • wordpress功能介绍
  • echarts饼图标题
  • 生产成本制造费用怎么算
  • Web前端开发用什么软件
  • uniapp微信公众号授权
  • 开发票的零税率和免税有什么区别
  • tokenall
  • vue生命周期钩子函数
  • yolov5 test.py
  • 套期工具会计核算
  • 未认证发票如何导出
  • 其他应收款怎么冲平会计分录
  • mysql数据库简单介绍
  • 兼职工资帐务处理
  • 冲减以前年度管理费用需要更正报表吗
  • 职工薪酬都包括什么
  • 接受捐赠做账
  • 发票红字怎么弄
  • 公司注销流程是哪些
  • 销项负数发票给对方哪一联
  • 跨年度的银行未入账如何处理
  • 单据 凭证
  • 对方要求先开发票怎么办
  • 主营业务成本如何做分录
  • 应交税费期初有余额吗
  • 增值税结转是月结转还是年度
  • sql server 1222解决
  • 如何找回丢失数据
  • linux中samba服务器的设计方案
  • win7系统不能修改
  • win7任务管理器怎么打开
  • Ubuntu14.04 的 SSH 无密码登录的设置方法
  • nipc什么意思
  • win8.1其他用户名登不进去
  • win7如何安装kb3033929补丁
  • linux操作系统怎么装
  • 批处理文件的编写
  • JavaScript中的数据类型分为两大类
  • js的变量
  • 外部js获取当前vue实例
  • js如何实现类的继承
  • 安徽省低保查询入口官网
  • 减免所得税额怎样计算
  • 进口商品的消费税计入成本吗
  • 税务代办需要什么资料
  • 进项发票勾选认证如何导出明细
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设