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中通过Ajax如何实现异步文件上传的代码实例
May 07 PHP
php控制linux服务器常用功能 关机 重启 开新站点等
Sep 05 PHP
zend framework文件上传功能实例代码
Dec 25 PHP
实用的PHP带公钥加密类分享(每次加密结果都不一样哦)
Aug 20 PHP
php中fsockopen用法实例
Jan 05 PHP
Linux系统下php获得系统分区信息的方法
Mar 30 PHP
PHP实现随机生成水印图片功能
Mar 22 PHP
PHP实现从PostgreSQL数据库检索数据分页显示及根据条件查找数据示例
Jun 09 PHP
php实现微信企业付款到个人零钱功能
Oct 09 PHP
yii2 上传图片的示例代码
Nov 02 PHP
PHP的curl函数的用法总结
Feb 14 PHP
PHPUnit + Laravel单元测试常用技能
Nov 06 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 面向对象程序设计(oop)学习笔记 (五) - PHP 命名空间
2014/06/12 PHP
CodeIgniter实现更改view文件夹路径的方法
2014/07/04 PHP
PHP中创建图像并绘制文字的例子
2014/11/19 PHP
PHP数组操作类实例
2015/07/11 PHP
yii2中结合gridview如何使用modal弹窗实例代码详解
2016/06/12 PHP
PHP中模糊查询并关联三个select框
2017/06/19 PHP
ubutu 16.04环境下,PHP与mysql数据库,网页登录验证实例讲解
2017/07/20 PHP
SeaJS入门教程系列之使用SeaJS(二)
2014/03/03 Javascript
JavaScript生成随机字符串的方法
2015/03/19 Javascript
Jquery Mobile 自定义按钮图标
2015/11/18 Javascript
jquery简单倒计时实现方法
2015/12/18 Javascript
Bootstrap布局方式详解
2016/05/27 Javascript
jQuery操作DOM_动力节点Java学院整理
2017/07/04 jQuery
深入理解Vue transition源码分析
2017/07/30 Javascript
Vue利用路由钩子token过期后跳转到登录页的实例
2017/10/26 Javascript
Angular7创建项目、组件、服务以及服务的使用
2019/02/19 Javascript
使用vscode快速建立vue模板过程详解
2019/10/10 Javascript
js实现星星打分效果
2020/07/05 Javascript
浅谈es6中的元编程
2020/12/01 Javascript
Python3基础之函数用法
2014/08/13 Python
使用Python写个小监控
2016/01/27 Python
使用Python设计一个代码统计工具
2018/04/04 Python
用python实现k近邻算法的示例代码
2018/09/06 Python
pytorch 求网络模型参数实例
2019/12/30 Python
基于Python绘制个人足迹地图
2020/06/01 Python
python中的split、rsplit、splitlines用法说明
2020/10/23 Python
matplotlib bar()实现多组数据并列柱状图通用简便创建方法
2021/02/24 Python
JackJones官方旗舰店:杰克琼斯男装
2018/03/27 全球购物
党校自我鉴定范文
2013/10/02 职场文书
高校教师岗位职责
2014/03/18 职场文书
水毁工程实施方案
2014/04/01 职场文书
设计师求职信
2014/07/01 职场文书
社区助残日活动总结
2014/08/29 职场文书
反腐倡廉警示教育活动心得体会
2014/09/04 职场文书
委托证明书
2014/09/17 职场文书
汽车销售员岗位职责
2015/04/11 职场文书