PHP中overload与override的区别


Posted in PHP onFebruary 13, 2017

override(重写,覆盖)

1、方法名、参数、返回值相同。

2、子类方法不能缩小父类方法的访问权限。

3、子类方法不能抛出比父类方法更多的异常(但子类方法可以不抛出异常)。

4、存在于父类和子类之间。

5、方法被定义为final不能被重写。

overload(重载,过载)

1、参数类型、个数、顺序至少有一个不相同。

2、不能重载只有返回值不同的方法名。

3、存在于父类和子类、同类中。

方法的重写(Overriding)和重载(Overloading)是Java多态性的不同表现。

重写(Overriding)是父类与子类之间多态性的一种表现,而重载(Overloading)是一个类中多态性的一种表现。

如果在子类中定义某方法与其父类有相同的名称和参数,我们说该方法被重写 (Overriding)。子类的对象使用这个方法时,将调用子类中的定义,对它而言,父类中的定义如同被"屏蔽"了.

如果在一个类中定义了多个同名的方法,它们或有不同的参数个数或有不同的参数类型或有不同的参数次序,则称为方法的重载(Overloading)。不能通过访问权限、返回类型、抛出的异常进行重载.

1. Override 特点

1、覆盖的方法的标志必须要和被覆盖的方法的标志完全匹配,才能达到覆盖的效果;

2、覆盖的方法的返回值必须和被覆盖的方法的返回一致;

3、覆盖的方法所抛出的异常必须和被覆盖方法的所抛出的异常一致,或者是其子类;

4、被覆盖的方法不能为private,否则在其子类中只是新定义了一个方法,并没有对其进行覆盖。

2.Overload 特点

1、在使用重载时只能通过不同的参数样式。例如,不同的参数类型,不同的参数个数,不同的参数顺序(当然,同一方法内的几个参数类型必须不一样,例如可以是fun(int, float), 但是不能为fun(int, int));

2、不能通过访问权限、返回类型、抛出的异常进行重载;

3、方法的异常类型和数目不会对重载造成影响;

4、对于继承来说,如果某一方法在父类中是访问权限是priavte,那么就不能在子类对其进行重载,如果定义的话,也只是定义了一个新方法,而不会达到重载的效果。

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持三水点靠木!

PHP 相关文章推荐
简单采集了yahoo的一些数据
Feb 14 PHP
通用PHP动态生成静态HTML网页的代码
Mar 04 PHP
PHP数据流应用的一个简单实例
Sep 14 PHP
phpmyadmin显示utf8_general_ci中文乱码的问题终级篇
Apr 08 PHP
php全局变量和类配合使用深刻理解
Jun 05 PHP
解析PHP 使用curl提交json格式数据
Jun 29 PHP
phpstrom使用xdebug配置方法
Dec 17 PHP
php自动识别文件编码并转换为UTF-8的方法
Jun 12 PHP
thinkPHP删除前弹出确认框的简单实现方法
May 16 PHP
PHP入门教程之图像处理技巧分析
Sep 11 PHP
PHP 7安装使用体验之性能大提升,兼容性强,扩展支持不够(升级PHP要谨慎)
Jul 27 PHP
Laravel基础_关于view共享数据的示例讲解
Oct 14 PHP
PHP处理Ajax请求与Ajax跨域问题
Feb 13 #PHP
curl 出现错误的调试方法(必看)
Feb 13 #PHP
PHP中CheckBox多选框上传失败的代码写法
Feb 13 #PHP
Yii2实现跨mysql数据库关联查询排序功能代码
Feb 10 #PHP
yii2 数据库读写分离配置示例
Feb 10 #PHP
php 基础函数
Feb 10 #PHP
PHP isset()与empty()的使用区别详解
Feb 10 #PHP
You might like
用PHP实现登陆验证码(类似条行码状)
2006/10/09 PHP
php操作access数据库的方法详解
2017/02/22 PHP
学习thinkphp5.0验证类使用方法
2017/11/16 PHP
单击和双击事件的冲突处理示例代码
2014/04/03 Javascript
jQuery实现图片轮播特效代码分享
2015/09/15 Javascript
详解javascript数组去重问题
2015/11/06 Javascript
javascript适合移动端的日期时间拾取器
2015/11/10 Javascript
微信小程序 获取微信OpenId详解及实例代码
2016/10/31 Javascript
浅析webpack 如何优雅的使用tree-shaking(摇树优化)
2017/08/16 Javascript
vue.js项目中实用的小技巧汇总
2017/11/29 Javascript
在vue中使用SockJS实现webSocket通信的过程
2018/08/29 Javascript
js自定义input文件上传样式
2018/10/26 Javascript
layui 关闭open弹出框 刷新table表格页面的方法
2019/09/16 Javascript
[03:23]我的刀塔你不可能这么可爱 第一期金萌萌的故事
2014/06/20 DOTA
[50:59]2018DOTA2亚洲邀请赛 4.7 总决赛 LGD vs Mineski第四场
2018/04/10 DOTA
python遍历文件夹并删除特定格式文件的示例
2014/03/05 Python
python+django快速实现文件上传
2016/10/24 Python
python查找指定文件夹下所有文件并按修改时间倒序排列的方法
2018/10/21 Python
Pycharm以root权限运行脚本的方法
2019/01/19 Python
python实现集中式的病毒扫描功能详解
2019/07/09 Python
python列表每个元素同增同减和列表元素去空格的实例
2019/07/20 Python
20行Python代码实现视频字符化功能
2020/04/13 Python
PyQt5-QDateEdit的简单使用操作
2020/07/12 Python
寻找完美的房车租赁:RVShare
2019/02/23 全球购物
Java程序员面试90题
2013/10/19 面试题
高校生生产实习自我鉴定
2013/09/21 职场文书
药学专业个人自我评价
2013/11/11 职场文书
护士实习生自我鉴定范文
2013/12/10 职场文书
微观物理专业自荐信
2014/01/26 职场文书
小学生考试获奖感言
2014/01/30 职场文书
养成教育经验材料
2014/05/26 职场文书
企业安全生产标语
2014/06/06 职场文书
2014年大学生党员自我评议
2014/09/22 职场文书
先进个人评语大全
2015/01/04 职场文书
毕业证明书
2015/06/19 职场文书
中学总务处工作总结
2015/08/12 职场文书