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 相关文章推荐
Php Ctemplate引擎开发相关内容
Mar 03 PHP
PHP数据过滤的方法
Oct 30 PHP
根据中文裁减字符串函数的php代码
Dec 03 PHP
php中current、next与reset函数用法实例
Nov 17 PHP
typecho插件编写教程(四):插件挂载
May 28 PHP
php根据生日计算年龄的方法
Jul 13 PHP
php实现购物车功能(上)
Jul 23 PHP
php简单统计在线人数的方法
May 10 PHP
深入分析PHP优化及注意事项
Jul 04 PHP
php中str_pad()函数用法分析
Mar 28 PHP
PHP实现限制IP访问的方法
Apr 20 PHP
PHP使用两个栈实现队列功能的方法
Jan 15 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中Cannot send session cache limiter 的问题的方法
2007/04/27 PHP
php中使用ExcelFileParser处理excel获得数据(可作批量导入到数据库使用)
2010/08/21 PHP
PHP遍历数组的几种方法
2012/03/22 PHP
win7安装php框架Yii的方法
2016/01/25 PHP
PHP内核学习教程之php opcode内核实现
2016/01/27 PHP
php 实现一个字符串加密解密的函数实例代码
2016/11/01 PHP
php获取flash尺寸详细数据的方法
2016/11/12 PHP
PHP查找一列有序数组是否包含某值的方法
2020/02/07 PHP
使用javascript获取flash加载的百分比的实现代码
2011/05/25 Javascript
JavaScript截取字符串的Slice、Substring、Substr函数详解和比较
2014/03/20 Javascript
Vue实例简单方法介绍
2017/01/20 Javascript
Node.js pipe实现源码解析
2017/08/12 Javascript
JS使用正则表达式找出最长连续子串长度
2017/10/26 Javascript
微信小程序模板(template)使用详解
2018/01/31 Javascript
jquery 给动态生成的标签绑定事件的几种方法总结
2018/02/24 jQuery
详解nodejs通过响应回写的方式渲染页面资源
2018/04/07 NodeJs
Javascript通过控制类名更改样式
2019/05/24 Javascript
javascript实现贪吃蛇游戏(娱乐版)
2020/08/17 Javascript
JS实现简易贪吃蛇游戏
2020/08/24 Javascript
[01:43]深扒TI7聊天轮盘语音出处4
2017/05/11 DOTA
[07:01]DOTA2-DPC中国联赛正赛 Aster vs Magma 3月5日 赛后选手采访
2021/03/11 DOTA
Python3实现购物车功能
2018/04/18 Python
python中plot实现即时数据动态显示方法
2018/06/22 Python
python 快速把超大txt文件转存为csv的实例
2018/10/26 Python
python判断输入日期为第几天的实例
2018/11/13 Python
Python分布式进程中你会遇到的问题解析
2019/05/28 Python
pycharm无法导入本地模块的解决方式
2020/02/12 Python
Python列表推导式实现代码实例
2020/09/09 Python
python利用appium实现手机APP自动化的示例
2021/01/26 Python
工作会议欢迎词
2014/01/16 职场文书
学生安全教育材料
2014/02/14 职场文书
槐乡的孩子教学反思
2014/04/27 职场文书
正风肃纪剖析材料范文
2014/10/10 职场文书
感谢信格式范文
2015/01/22 职场文书
《悲惨世界》:比天空更广阔的是人的心灵
2020/01/16 职场文书
python lambda 表达式形式分析
2022/04/03 Python