php构造方法中析构方法在继承中的表现


Posted in PHP onApril 12, 2016

本文为大家分享了php构造方法之析构方法在继承中的表现,供大家参考,具体内容如下

子类中没有定义构造方法时,会自动调用父类的构造方法。因此实例化子类时,需按照父类的构造方法的形式进行。

php构造方法中析构方法在继承中的表现

修改为:

php构造方法中析构方法在继承中的表现

子类定义了自己的构造方法,则不会自动调用父类的构造方法,但可以手动调用:parent::__construct();php构造方法中析构方法在继承中的表现

但通常,在子类,很多时候,在构造方法中,都应该(需要)去调用父类的构造方法以节省代码,增加可读性:

php构造方法中析构方法在继承中的表现

子类中没有定义析构方法时,会自动调用父类的析构方法。子类定义了自己的析构方法,则不会自动调用父类的析构方法,但可以手动调用:parent::__destruct()。重写override

重写又叫覆盖,就是将从父类继承下来的属性或方法重新“定义”——就是从新写。

php构造方法中析构方法在继承中的表现

但注意:子类覆盖父类的方法,虽然可以去调用父类的同名方法去完成一定的工作,但不是必须的。也有可能父类的该方法所执行的结果并不适合子类,此时子类就去完全自己写了。

重写的基本要求:

访问控制权限:下级的访问控制权限应该不低于上级的访问控制权限:上级:public 下级:只能public上级:protected 下级: protected, public上级:private 下级:private protected public——实际此情况无意义。私有的不能覆盖,而是完全当作自己全新的。

方法的参数形式:应该跟父类的一致。

php构造方法中析构方法在继承中的表现

php构造方法中析构方法在继承中的表现

私有属性和私有方法的重写问题:私有属性和方法都不能覆盖,但其实子类可以定义跟父类私有的同名属性或方法。只是当作一个自身的新的属性或方法来看待而已。不过方法的参数必须一致。构造方法的重写问题:构造方法不但可以像其他普通方法一样重写,而且,比普通方法更宽松:重写的时候参数可以不一致。

php构造方法中析构方法在继承中的表现

最终类final class:

通常,一个类,没有特别声明的话,则“别人”就可以随意拿过来使用并对之进行“扩展”——继承。

但是:

如果某个类不希望对其进行扩展,则可以将其声明为“最终类”。

形式:

final class 类名{ 。。。。类定义。。。。}

最终方法final method

通常,一个方法,如果没有特别声明,则下级类就可以对其进行“覆盖”(重写)。

但是:

如果某个方法不希望被下级类覆盖,就可以对其生命为“最终方法”。

形式:

final function 方法名(){。。。。方法定义。。。。}

以上就是本文的全部内容,希望对大家的学习有所帮助。

PHP 相关文章推荐
php+dojo 的数据库保存拖动布局的一个方法dojo 这里下载
Mar 07 PHP
PHP下通过系统信号量加锁方式获取递增序列ID
Sep 25 PHP
浅谈apache和nginx的rewrite的区别
Feb 22 PHP
php实现的获取网站备案信息查询代码(360)
Sep 23 PHP
php生成百度sitemap站点地图类函数实例
Oct 17 PHP
php中ltrim()、rtrim()与trim()删除字符空格实例
Nov 25 PHP
Linux环境下php实现给网站截图的方法
May 03 PHP
简单PHP会话(session)说明介绍
Aug 21 PHP
PHP后台微信支付和支付宝支付开发
Apr 28 PHP
PHP实现的字符串匹配算法示例【sunday算法】
Dec 19 PHP
Laravel框架路由和控制器的绑定操作方法
Jun 12 PHP
PHP goto语句用法实例
Aug 06 PHP
非集成环境的php运行环境(Apache配置、Mysql)搭建安装图文教程
Apr 12 #PHP
ThinkPHP框架里隐藏index.php
Apr 12 #PHP
PHP 绘制网站登录首页图片验证码
Apr 12 #PHP
PHP中Restful api 错误提示返回值实现思路
Apr 12 #PHP
PHP给文字内容中的关键字进行套红处理
Apr 12 #PHP
PHP实现的通过参数生成MYSQL语句类完整实例
Apr 11 #PHP
PHP实现的浏览器检查类
Apr 11 #PHP
You might like
IE autocomplete internet explorer's autocomplete
2007/06/30 Javascript
JavaScript 关键字屏蔽实现函数
2009/08/02 Javascript
Three.js源码阅读笔记(光照部分)
2012/12/27 Javascript
window.showModalDialog参数传递中含有特殊字符的处理方法
2013/06/06 Javascript
JavaScript中join()方法的使用简介
2015/06/09 Javascript
js调出上下文菜单的实例
2015/12/17 Javascript
浅析AngularJS Filter用法
2015/12/28 Javascript
javascript实现checkbox复选框实例代码
2016/01/10 Javascript
js检测离开或刷新页面时表单数据是否更改的方法
2016/08/02 Javascript
CSS3 3D 技术手把手教你玩转
2016/09/02 Javascript
jQuery编写网页版2048小游戏
2017/01/06 Javascript
Node.js服务器开启Gzip压缩教程
2017/08/11 Javascript
Redux 和 Mobx的选择问题:让你不再困惑!
2017/09/18 Javascript
详解vue-cli+es6引入es5写的js(两种方法)
2019/04/19 Javascript
JavaScript创建、读取和删除cookie
2019/09/03 Javascript
NProgress显示顶部进度条效果及使用详解
2019/09/21 Javascript
vue 微信扫码登录(自定义样式)
2020/01/06 Javascript
python使用pil生成缩略图的方法
2015/03/26 Python
Python实现登录人人网并抓取新鲜事的方法
2015/05/11 Python
13个最常用的Python深度学习库介绍
2017/10/28 Python
Python实现的大数据分析操作系统日志功能示例
2019/02/11 Python
意大利高端时尚买手店:Stefania Mode
2018/03/01 全球购物
Bally美国官网:经典瑞士鞋履、手袋及配饰奢侈品牌
2018/05/18 全球购物
美国林业供应商:Forestry Suppliers
2019/05/01 全球购物
Sperry澳大利亚官网:源自美国帆船鞋创始品牌
2019/07/29 全球购物
某公司的.net工程师面试题笔试题
2013/11/22 面试题
技术学校毕业生求职信分享
2013/12/02 职场文书
汉语言文学职业规划
2014/02/14 职场文书
应急处置方案
2014/06/16 职场文书
党的群众路线教育实践活动领导班子整改措施
2014/09/30 职场文书
2014酒店客房部工作总结
2014/12/16 职场文书
课改心得体会范文
2016/01/25 职场文书
公司周年庆寄语
2019/06/21 职场文书
大学生饮品店创业计划书范文
2019/07/10 职场文书
python实现过滤敏感词
2021/05/08 Python
javascript的setTimeout()使用方法总结
2021/11/20 Javascript