Home >Backend Development >PHP Tutorial >In-depth analysis of PHP final keyword usage skills_PHP tutorial

In-depth analysis of PHP final keyword usage skills_PHP tutorial

WBOY
WBOYOriginal
2016-07-15 13:33:43797browse

PHP programmers have mastered

In PHP, class inheritance is the most used programming feature. We can create a base class (parent class) and then Define some basic methods here. In our subclass, we can extend the methods in the parent class. This is called overriding. However, if you have some key methods in the parent class, you cannot inherit them from the subclass, because if the subclass If a class inherits this method, it may bring some trouble to the program, so we hope that this method is "private" and cannot be extended. In PHP, the final keyword is used to modify the method that you do not want to inherit.

PHP final keyword can modify the class and also modify the methods in the class, but their functions are similar, that is, if you use the final keyword to modify, then the modified class or method will Cannot be extended or inherited. You can only quote it honestly. If you use final in front of a class, it means that this class cannot use inheritance; if you use the PHP final keyword in front of a method, it means that this method cannot be overridden. The truth is that simple, let us also look at a simple example.

<ol class="dp-xml"><li class="alt">
<span class="tag"><</span> ?PHP   </li><li><span>final class BaseClass {   </span></li><li class="alt"><span>public function test() {   </span></li><li><span>echo "BaseClass::test() calledn";   </span></li><li class="alt"><span>}   </span></li><li><span>final public function moreTesting() {   </span></li><li class="alt"><span>echo "BaseClass::moreTesting() calledn";   </span></li><li><span>}   </span></li><li class="alt"><span>}   </span></li><li><span>class ChildClass extends BaseClass {   </span></li><li class="alt"><span>public function moreTesting() {   </span></li><li><span>echo "ChildClass::moreTesting() calledn";   </span></li><li class="alt"><span>}   </span></li><li><span>}   </span></li><li class="alt"><span>// Results in Fatal error: Cannot override final method BaseClass::moreTesting()   </span></li><li><span class="tag">?></span><span>  </span>
</li></ol>

In this example, we added the PHP final keyword before the class and the method to modify our specific class. Of course, this class cannot be output as required. , you can debug it yourself. The basic principle is this. We just need to remember that if a class or method uses final, it means that the class cannot be inherited or the subclass cannot override the method of the parent class.


www.bkjia.comtruehttp: //www.bkjia.com/PHPjc/446025.htmlTechArticleAfter PHP programmers have mastered the inheritance of classes in PHP, which is the most used programming feature, we can create A base class (parent class) and then define some basic methods in it, in my...
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn