php重载和重写的区别是什么?

php重载和重写的区别是什么?

重写

就是当子类继承父类的一些方法后,子类又在其内部定义了相同的方法,则这个新定义的方法会覆盖继承而来的父类的方法,子类只能调用其内部定义的方法。

有以下几点要求:

1.当一个父类和子类有一个方法,参数和名字完全一致,那么子类方法会覆盖父类的方法

必须参数一致,才会实现方法覆盖。当参数个数不一致,则会报错(这就牵扯到上面说所得方法重载)。当方法名字不一致,就不会覆盖,只是子类新定义的方法。

2.在实行方法覆盖的时候,访问修饰符可以是不一样的,但是子类的访问范围必须大于等于父类的访问范围

立即学习“PHP免费学习笔记(深入)”;

这是php这些语言设计时的规定吧。我是这么理解的是访问高一层的东西比较容易,如果再去访问底层的东西权限肯定要高一些。

要求参数和名字一样。并不是要求子类,父类名称相同。

是要求参数和名字一样,具体就是要求参数的个数与父类相同,而并不是参数名称一致。即传递的参数名字可以为任意,只要保证传递的个数相同即可。

看代码:

<?php class  shao{    public function sasa($name){        echo $name,'狗!
';    }}class zhen extends shao{    public function aaa()    {        echo '猫
';    }}$lli = new zhen();$lli->aaa();$lli->aaa('binghh');?>

登录后复制

text();?>

登录后复制

重载:

重载是类的多态的一种实现。函数重载指一个标识符被用作多个函数名,且能够通过函数的参数个数或参数类型将这些同名的函数区分开来,调用不发生混淆。即当调用的时候,虽然方法名字相同,但根据参数的不同可以自动调用相应的函数。

php不好实现。

可以使类里面的某个方法产生多种效果,根据传入参数不同,可以执行不同的逻辑。

有以下几点要求:

1、在使用重载时只能通过相同的方法名、不同的参数形式实现。不同的参数类型可以是不同的参数类型,不同的参数个数,不同的参数顺序(参数类型必须不一样);
2、不能通过访问权限、返回类型、抛出的异常进行重载;
3、方法的异常类型和数目不会对重载造成影响;

 text("123");?>

登录后复制

重写只存在于子类与父类中,重载存在于一个类中。

override是重写

overload是重载

关于重写和重载的更多内容,请访问PHP中文网:PHP视频教程

以上就是php重载和重写的区别是什么?的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2157673.html

(0)
上一篇 2025年2月25日 07:03:00
下一篇 2025年2月25日 07:03:12

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • php中单引号和双引号的区别是什么?

    在php中,字符串的定义可以使用单引号也可以使用双引号。 一般情况下,两者是通用的,但是双引号会解析变量,单引号则不解析。 php允许我们直接在双引号中包含字符串变量。 单引号中的内容会被认为是普通字符,因此单引号中的内容不会被解析,效率也…

    2025年2月25日
    000
  • php中sort排序如何使用

    PHP sort() 函数 定义和用法 sort() 函数对索引数组进行升序排序。 注:本函数为数组中的单元赋予新的键名。原有的键名将被删除。 立即学习“PHP免费学习笔记(深入)”; 如果成功则返回 TRUE,否则返回 FALSE。 提示…

    2025年2月25日
    200
  • php中unset是什么

    unset() 销毁指定的变量。 unset() 在函数中的行为会依赖于想要销毁的变量的类型而有所不同。(推荐学习:PHP视频教程) 如果在函数中 unset() 一个全局变量,则只是局部变量被销毁,而在调用环境中的变量将保持调用 unse…

    2025年2月25日
    200
  • php中变量有哪些基本数据方式

    在php中存储数据的一种方式,就是i可以发生改变的量,这种方式是在内存中开辟一个可以存放数据的空间,给这个空间起个名称,这时候的空间就可以称为一个变量。在运行过程中这个值是可以发生改变的 当前空间的名称就是变量名,当前空间的数据(八种数据类…

    2025年2月25日
    200
  • 如何正确结束php语句?

    php的语句结束是非常简单同时也是非常重要且最容易忽视的一个问题。在实际工作中,有的时候就是因为语句无法正确结束而导致错误的发生,但是,这类错误恰巧又是非常难察觉的。所以,如何正确的结束语句其实是一个非常小但是有非常重要的问题。 在php中…

    2025年2月25日
    200
  • php中变量占内存吗

    在php中存储数据的一种方式,就是i可以发生改变的量,这种方式是在内存中开辟一个可以存放数据的空间,给这个空间起个名称,这时候的空间就可以称为一个变量。在运行过程中这个值是可以发生改变的 当前空间的名称就是变量名,当前空间的数据(八种数据类…

    2025年2月25日
    200
  • php中不等运算符是什么

    PHP 比较运算符用于比较两个值(数字或字符串),今天我们来介绍一下不等于运算符。 !=,不等于运算符,如果 $x 不等于 $y,则返回 true。(推荐学习:PHP视频教程) nbsp;html>   登录后复制 ,不等于运算符,如…

    2025年2月25日
    200
  • php中常见的运算符有哪些

    PHP 中常见的运算符分有:算数运算符、赋值运算符、比较运算符、逻辑运算符、数组运算符。 PHP 算数运算符(推荐学习:PHP视频教程) 算术运算符主要是用于进行算术运算的,例如:加法运算、减法运算、乘法运算、除法运算; 立即学习“PHP免…

    2025年2月25日 编程技术
    200
  • php中除怎么表示

    php中除是算术运算符中的一种,使用/(斜杠)表示,例如:$x / $y,得$x与$y的商数。 实例:(推荐学习:PHP编程从入门到精通) nbsp;html>   登录后复制 输出: 2.125 登录后复制 以上就是php中除怎么表…

    2025年2月25日
    200
  • php中错误信息和异常信息区别

    PHP中什么是异常: 程序在运行中出现不符合预期的情况,允许发生(你也不想让他出现不正常的情况)但他是一种不正常的情况,按照我们的正常逻辑本不该出的错误,但仍然会出现的错误,属于逻辑和业务流程的错误,而不是编译或者语法上的错误。 PHP中什…

    2025年2月25日
    200

发表回复

登录后才能评论