PHP面相对象中的重载与重写


Posted in PHP onFebruary 13, 2017

重写Overriding是父类与子类之间多态性的一种表现,重载Overloading是一个类中多态性的一种表现。Overloaded的方法是可以改变返回值的类型。也就是说,重载的返回值类型可以相同也可以不同。

重载(Overloading)

a、方法重载是让类以统一的方式处理不同类型数据的一种手段。多个同名函数同时存在,具有不同的参数个数/类型。重载Overloading是一个类中多态性的一种表现。

b、Java的方法重载,就是在类中可以创建多个方法,它们具有相同的名字,但具有不同的参数和不同的定义。调用方法时通过传递给它们的不同参数个数和参数类型来决定具体使用哪个方法, 这就是多态性。

c 、重载的时候,方法名要一样,但是参数类型和个数不一样,返回值类型可以相同也可以不相同。无法以返回型别作为重载函数的区分标准。

2、重写(Overriding)

a、父类与子类之间的多态性,对父类的函数进行重新定义。如果在子类中定义某方法与其父类有相同的名称和参数,我们说该方法被重写 (Overriding)。在Java中子类可继承父类中的方法,而不需要重新编写相同的方法。但有时子类并不想原封不动地继承父类的方法,而是想作一定的修改,这就需要采用方法的重写。方法重写又称方法覆盖。

b、若子类中的方法与父类中的某一方法具有相同的方法名、返回类型和参数表,则新方法将覆盖原有的方法。**如需父类中原有的方法,可使用super关键字,该关键字引用了当前类的父类**。

c、子类函数的访问修饰权限不能少于父类的;

如果父类成员方法的名字、返回类型、参数类型以及个数完全相同,只是其内部的代码不同,在Java中将这种重写方式叫做成员方法重构

子类中可以重新调整父类方法中的权限(从小气到大方)、扩展或者重新调整父类的功能等等,从而往往让子类青处于蓝,而胜于蓝。在开发过程中,程序开发人员要使用好子类的这些特性。不过从另一种角度讲,也需要对子类的权限进行一定的限制。在必要的时候要在父类中对某些方法进行权限的控制,防止其被子类滥用。

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

PHP 相关文章推荐
延长phpmyadmin登录时间的方法
Feb 06 PHP
php whois查询API制作方法
Jun 23 PHP
PHP实现今天是星期几的几种写法
Sep 26 PHP
php mailer类调用远程SMTP服务器发送邮件实现方法
Mar 04 PHP
Zend Framework教程之资源(Resources)用法实例详解
Mar 14 PHP
9个比较实用的php代码片段
Mar 15 PHP
深入了解PHP中的Array数组和foreach
Nov 06 PHP
yii框架搜索分页modle写法
Dec 19 PHP
PHP实现绘制二叉树图形显示功能详解【包括二叉搜索树、平衡树及红黑树】
Nov 16 PHP
PHP设计模式之适配器模式定义与用法详解
Apr 03 PHP
详解PHP版本兼容之openssl调用参数
Jul 25 PHP
浅析PHP中的 inet_pton 网络函数
Dec 16 PHP
PHP中overload与override的区别
Feb 13 #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
You might like
亲密接触PHP之PHP语法学习笔记1
2006/12/17 PHP
php实现的css文件背景图片下载器代码
2014/11/11 PHP
js一般方法改写成面向对象方法的无限级折叠菜单示例代码
2013/07/04 Javascript
Jqgrid设置全选(选择)及获取选择行的值示例代码
2013/12/28 Javascript
js封装可使用的构造函数继承用法分析
2015/01/28 Javascript
jquery验证手机号是否正确实例讲解
2015/11/17 Javascript
jQuery Validate 相关参数及常用的自定义验证规则
2017/03/06 Javascript
你应该知道的几类npm依赖包管理详解
2017/10/06 Javascript
vue中实现滚动加载更多的示例
2017/11/08 Javascript
利用jqprint插件打印页面内容的实现方法
2018/01/09 Javascript
工作中常用到的ES6语法
2018/09/04 Javascript
分享5个好用的javascript文件上传插件
2018/09/16 Javascript
element vue Array数组和Map对象的添加与删除操作
2018/11/14 Javascript
Vue实战教程之仿肯德基宅急送App
2019/07/19 Javascript
[02:28]DOTA2英雄基础教程 灰烬之灵
2013/12/19 DOTA
Python中的数学运算操作符使用进阶
2016/06/20 Python
django轻松使用富文本编辑器CKEditor的方法
2017/03/30 Python
python 实现判断ip连通性的方法总结
2018/04/22 Python
详解selenium + chromedriver 被反爬的解决方法
2020/10/28 Python
用HTML5的canvas实现一个炫酷时钟效果
2016/05/20 HTML / CSS
美国男士和女士奢侈品折扣手表购物网站:Certified Watch Store
2018/06/13 全球购物
优质有机椰子产品:Dr. Goerg
2019/09/24 全球购物
俄罗斯香水和化妆品在线商店:Aroma-butik
2020/02/28 全球购物
戴尔马来西亚官网:Dell Malaysia
2020/05/02 全球购物
俄罗斯三星品牌商店:Samsungstore
2020/04/05 全球购物
应用心理学个人求职信范文
2013/12/11 职场文书
《最大的麦穗》教学反思
2014/04/17 职场文书
《云房子》教学反思
2014/04/20 职场文书
企业承诺书怎么写
2014/05/24 职场文书
2014年环境卫生工作总结
2014/11/24 职场文书
保安2014年终工作总结
2014/12/06 职场文书
同学毕业留言寄语
2015/02/27 职场文书
堂吉诃德读书笔记
2015/06/30 职场文书
2015年除四害工作总结
2015/07/23 职场文书
2015年小学语文教师工作总结
2015/10/23 职场文书
Python使用socket去实现TCP客户端和TCP服务端
2022/04/12 Python