《PHP实战:php构造方法中析构方法在继承中的表现》要点:
本文介绍了PHP实战:php构造方法中析构方法在继承中的表现,希望对您有用。如果有疑问,可以联系我们。
本文为大家分享了php构造办法之析构办法在继承中的表现,供大家参考,具体内容如下PHP编程
子类中没有定义构造方法时,会自动调用父类的构造方法.因此实例化子类时,需依照父类的构造方法的形式进行.PHP编程
PHP编程
修改为:PHP编程
PHP编程
子类定义了自己的构造办法,则不会自动调用父类的构造办法,但可以手动调用:parent::__construct();PHP编程
但通常,在子类,很多时候,在构造办法中,都应该(需要)去调用父类的构造办法以节省代码,增加可读性:PHP编程
PHP编程
子类中没有定义析构办法时,会自动调用父类的析构办法.子类定义了自己的析构办法,则不会自动调用父类的析构办法,但可以手动调用:parent::__destruct().重写overridePHP编程
重写又叫覆盖,就是将从父类继承下来的属性或办法重新“定义”――就是从新写.PHP编程
PHP编程
但注意:子类覆盖父类的办法,虽然可以去调用父类的同名办法去完成一定的工作,但不是必须的.也有可能父类的该办法所执行的结果并不适合子类,此时子类就去完全自己写了.PHP编程
重写的基本要求:PHP编程
拜访控制权限:下级的拜访控制权限应该不低于上级的拜访控制权限:上级:public 下级:只能public上级:protected 下级: protected, public上级:private 下级:private protected public――实际此情况无意义.私有的不能覆盖,而是完全当作自己全新的.PHP编程
办法的参数形式:应该跟父类的一致.PHP编程
PHP编程
PHP编程
私有属性和私有方法的重写问题:私有属性和方法都不能覆盖,但其实子类可以定义跟父类私有的同名属性或方法.只是当作一个自身的新的属性或方法来看待罢了.不过方法的参数必须一致.构造方法的重写问题:构造方法不但可以像其他普通方法一样重写,而且,比普通方法更宽松:重写的时候参数可以不一致.PHP编程
PHP编程
最终类final class:PHP编程
通常,一个类,没有特别声明的话,则“别人”就可以随意拿过来使用并对之进行“扩展”――继承.PHP编程
但是:PHP编程
如果某个类不希望对其进行扩展,则可以将其声明为“最终类”.PHP编程
形式:PHP编程
final class 类名{ ....类定义....}PHP编程
最终办法final methodPHP编程
通常,一个办法,如果没有特别声明,则下级类就可以对其进行“覆盖”(重写).PHP编程
但是:PHP编程
如果某个办法不希望被下级类覆盖,就可以对其生命为“最终办法”.PHP编程
形式:PHP编程
final function 办法名(){....办法定义....}PHP编程
以上就是本文的全部内容,希望对大家的学习有所赞助.PHP编程
欢迎参与《PHP实战:php构造方法中析构方法在继承中的表现》讨论,分享您的想法,维易PHP学院为您提供专业教程。
转载请注明本页网址:
http://www.vephp.com/jiaocheng/6926.html