• 技术文章 >后端开发 >php教程

    php构造方法中析构方法在继承中的表现图文详解

    墨辰丷墨辰丷2018-06-04 10:48:55原创693
    这篇文章主要为大家详细介绍了php构造方法中析构方法在继承中的表现,感兴趣的小伙伴们可以参考一下

    子类中没有定义构造方法时,会自动调用父类的构造方法。因此实例化子类时,需按照父类的构造方法的形式进行。

    修改为:

    子类定义了自己的构造方法,则不会自动调用父类的构造方法,但可以手动调用:parent::__construct();

    但通常,在子类,很多时候,在构造方法中,都应该(需要)去调用父类的构造方法以节省代码,增加可读性:

    子类中没有定义析构方法时,会自动调用父类的析构方法。子类定义了自己的析构方法,则不会自动调用父类的析构方法,但可以手动调用:parent::__destruct()。重写override

    重写又叫覆盖,就是将从父类继承下来的属性或方法重新“定义”——就是从新写。

    但注意:子类覆盖父类的方法,虽然可以去调用父类的同名方法去完成一定的工作,但不是必须的。也有可能父类的该方法所执行的结果并不适合子类,此时子类就去完全自己写了。

    重写的基本要求:

    访问控制权限:下级的访问控制权限应该不低于上级的访问控制权限:上级:public 下级:只能public上级:protected 下级: protected, public上级:private 下级:private protected public——实际此情况无意义。私有的不能覆盖,而是完全当作自己全新的。

    方法的参数形式:应该跟父类的一致。

    私有属性和私有方法的重写问题:私有属性和方法都不能覆盖,但其实子类可以定义跟父类私有的同名属性或方法。只是当作一个自身的新的属性或方法来看待而已。不过方法的参数必须一致。构造方法的重写问题:构造方法不但可以像其他普通方法一样重写,而且,比普通方法更宽松:重写的时候参数可以不一致。

    最终类final class:

    通常,一个类,没有特别声明的话,则“别人”就可以随意拿过来使用并对之进行“扩展”——继承。

    但是:

    如果某个类不希望对其进行扩展,则可以将其声明为“最终类”。

    形式:

    final class 类名{ 。。。。类定义。。。。}

    最终方法final method

    通常,一个方法,如果没有特别声明,则下级类就可以对其进行“覆盖”(重写)。

    但是:

    如果某个方法不希望被下级类覆盖,就可以对其生命为“最终方法”。

    形式:

    final function 方法名(){。。。。方法定义。。。。}

    总结:以上就是本篇文的全部内容,希望能对大家的学习有所帮助。

    相关推荐:

    php中各种定义变量的方法小结

    PHP遍历目录文件的常用方法

    PHP获取路径和目录的方法总结

    以上就是php构造方法中析构方法在继承中的表现图文详解的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:php 中的 继承
    上一篇:PHP MSSQL 可刷新分页实例 下一篇:基于PHP绘制网站登录首页图片验证码的方法
    php培训_php实战培训【立即报名】-php中文网第20期

    相关文章推荐

    • 【活动】充值PHP中文网VIP即送云服务器• 如何不同的form之间传输数值 • 装配及配置eaccelerator-0.9.5加速PHP-5.2.1 • 瞅discuz发现了php的一个过瘾的函数调用方法 • mysql 正则查询信息,该如何处理 • 【转】php 软件工程师
    1/1

    PHP中文网