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 相关文章推荐
使用无限生命期Session的方法
Oct 09 PHP
用ADODB来让PHP操作ACCESS数据库的方法
Dec 31 PHP
PHP的变量总结 新手推荐
Apr 18 PHP
腾讯微博提示missing parameter errorcode 102 错误的解决方法
Dec 22 PHP
php延迟静态绑定实例分析
Feb 08 PHP
Apache服务器下防止图片盗链的办法
Jul 06 PHP
PHP实现简单数字分页效果
Jul 26 PHP
PHP错误处理函数register_shutdown_function使用示例
Jul 03 PHP
PHP实现mysqli批量执行多条语句的方法示例
Jul 22 PHP
PHP+Ajax实现的博客文章添加类别功能示例
Mar 29 PHP
php下的原生ajax请求用法实例分析
Feb 28 PHP
PHP网站常见安全漏洞,及相应防范措施总结
Mar 01 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
40个迹象表明你还是PHP菜鸟
2008/09/29 PHP
深入解析PHP中的(伪)多线程与多进程
2013/07/01 PHP
php实现的证件照换底色功能示例【人像抠图/换背景图】
2020/05/29 PHP
xmlhttp缓存清除的2种解决方法
2013/12/13 Javascript
JavaScript中number转换成string介绍
2014/12/31 Javascript
JS实现的5级联动Select下拉选择框实例
2015/08/17 Javascript
js 弹出虚拟键盘修改密码的简单实例
2016/10/10 Javascript
浅谈jQuery hover(over, out)事件函数
2016/12/03 Javascript
微信小程序实战之轮播图(3)
2017/04/17 Javascript
canvas简单快速的实现知乎登录页背景效果
2017/05/08 Javascript
深入浅出webpack之externals的使用
2017/12/04 Javascript
详解react-native WebView 返回处理(非回调方法可解决)
2018/02/27 Javascript
详解VUE 对element-ui中的ElTableColumn扩展
2018/03/28 Javascript
vue2.0 使用element-ui里的upload组件实现图片预览效果方法
2018/09/04 Javascript
Vue 解决父组件跳转子路由后当前导航active样式消失问题
2020/07/21 Javascript
vue print.js打印支持Echarts图表操作
2020/11/13 Javascript
WebStorm无法正确识别Vue3组合式API的解决方案
2021/02/18 Vue.js
python中dir函数用法分析
2015/04/17 Python
Python实现将通信达.day文件读取为DataFrame
2018/12/22 Python
一篇文章弄懂Python中所有数组数据类型
2019/06/23 Python
CSS3中线性颜色渐变的一些实现方法
2015/07/14 HTML / CSS
YSL Beauty加拿大官方商城:圣罗兰美妆加拿大
2017/05/15 全球购物
FirstCry阿联酋儿童和婴儿产品网上购物:FirstCry.ae
2021/02/22 全球购物
师德个人剖析材料
2014/02/02 职场文书
致长跑运动员加油稿
2014/02/20 职场文书
小小的船教学反思
2014/02/21 职场文书
委托公证书范本
2014/04/03 职场文书
奠基仪式策划方案
2014/05/15 职场文书
农村党支部书记党群众路线四风问题整改措施
2014/09/26 职场文书
工作保证书怎么写
2015/02/28 职场文书
商场收银员岗位职责
2015/04/07 职场文书
正规借条模板
2015/05/26 职场文书
2015年小学生国庆节演讲稿
2015/07/30 职场文书
争做文明公民倡议书
2019/06/24 职场文书
php访问对象中的成员的实例方法
2021/11/17 PHP
vue css 相对路径导入问题级踩坑记录
2022/06/05 Vue.js