您当前的位置:首页 > 网站建设笔记 >

PHP如何防止修改类和方法

0

问题:希望防止其他开发人员在子类中重新定义特定的方法,甚至不希望派生整个类。
解决方案:将特定的方法或类标志为final

讨论:继承通常是一件好事,不过应该有所限制它才有意义。
之所以将一个方法声明为final,最好的原因是:如果有人覆盖这个方法可能会产生极大的危险。例如,数据破坏、竞态条件或者由于忘记(或忘记释放)一个锁或信号量而导致崩溃或死锁。

要标志一个方法为最终方法,可以在方法声明最前面加上final关键字:final public function connect(){}
这样可以防止人们派生这个类并创建一个不同的connect()方法。

要防止派生整个类,不用将每一个方法声明为final。实际上,可以声明一个最终类:final class MySQL{}
最终类不允许派生。这与每个方法都是final方法的类有所不同,因为后者允许子类扩展,尽管不能修改该类现有的任何方法,但是可以在子类中提供另外的方法。

顶部中部底部