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 相关文章推荐
在线短消息收发的程序,不用数据库
Oct 09 PHP
整合了前面的PHP数据库连接类~~做成一个分页类!
Nov 25 PHP
PHP学习 运算符与运算符优先级
Jun 15 PHP
PHP 第二节 数据类型之转换
Apr 28 PHP
PHP内置过滤器FILTER使用实例
Jun 25 PHP
php实现根据字符串生成对应数组的方法
Sep 22 PHP
分享PHP函数实现数字与文字分页代码
Jul 28 PHP
WordPress导航菜单的滚动和淡入淡出效果的实现要点
Dec 14 PHP
PHP获取数组中指定的一列实例
Dec 27 PHP
php 读写json文件及修改json的方法
Mar 07 PHP
php创建多级目录与级联删除文件的方法示例
Sep 12 PHP
laravel config文件配置全局变量的例子
Oct 13 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
php strlen mb_strlen计算中英文混排字符串长度
2009/07/10 PHP
php根据年月获取季度的方法
2014/03/31 PHP
PHP三元运算的2种写法代码实例
2014/05/12 PHP
20个2014年最优秀的PHP框架回顾
2014/10/22 PHP
php微信开发之关注事件
2018/06/14 PHP
E3 tree 1.6在Firefox下显示问题的修复方法
2013/01/30 Javascript
原生js ActiveXObject获取execl里面的值
2013/11/01 Javascript
利用javascript实现禁用网页上所有文本框,下拉菜单,多行文本域
2013/12/14 Javascript
js实现模拟计算器退格键删除文字效果的方法
2015/05/07 Javascript
JavaScript数组方法总结分析
2016/05/06 Javascript
Bootstrap模态框(modal)垂直居中的实例代码
2016/08/18 Javascript
jQuery编写设置和获取颜色的插件
2017/01/09 Javascript
js实现用户输入的小写字母自动转大写字母的方法
2017/01/21 Javascript
详解Vue使用 vue-cli 搭建项目
2017/04/20 Javascript
Vue中的slot使用插槽分发内容的方法
2018/03/01 Javascript
在Node.js下运用MQTT协议实现即时通讯及离线推送的方法
2019/01/24 Javascript
vue 项目引入echarts 添加点击事件操作
2020/09/09 Javascript
Python编写的com组件发生R6034错误的原因与解决办法
2013/04/01 Python
Python使用multiprocessing创建进程的方法
2015/06/04 Python
python简单判断序列是否为空的方法
2015/06/30 Python
Django 对IP访问频率进行限制的例子
2019/08/30 Python
python中从for循环延申到推导式的具体使用
2019/11/29 Python
深入了解如何基于Python读写Kafka
2019/12/31 Python
使用python实现多维数据降维操作
2020/02/24 Python
html5 更新图片颜色示例代码
2014/07/29 HTML / CSS
新加坡领先的时尚生活方式零售品牌:CHARLES & KEITH
2018/01/16 全球购物
小学教师事迹材料
2014/01/13 职场文书
优秀学生事迹材料
2014/02/08 职场文书
运动会的口号
2014/06/09 职场文书
护士医德医风自我评价
2014/09/15 职场文书
政府班子四风问题整改措施思想汇报
2014/10/08 职场文书
干部作风建设年活动剖析材料
2014/10/23 职场文书
2014年打非治违工作总结
2014/11/13 职场文书
话题作文之财富(600字)
2019/12/03 职场文书
实战Python爬虫爬取酷我音乐
2022/04/11 Python
SpringBoot详解整合Redis缓存方法
2022/07/15 Java/Android