- 在PHP中,Final关键字仅适用于类和类方法。无涯教程无法在PHP中声明为Final。
- 因此,如果将类方法声明为Final方法,则子类无法覆盖该方法。
- 与方法相同,如果将class声明为Final,则该类无法再扩展。
例子1
<?php
</span><span class="kwd">class</span><span class="pln"> </span><span class="kwd">base</span><span class="pln">
</span><span class="pun">{</span><span class="pln">
</span><span class="kwd">final</span><span class="pln"> </span><span class="kwd">public</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> dis1</span><span class="pun">()</span><span class="pln">
</span><span class="pun">{</span><span class="pln">
echo </span><span class="str">"Base class.."</span><span class="pun">;</span><span class="pln">
</span><span class="pun">}</span><span class="pln">
</span><span class="pun">}</span><span class="pln">
</span><span class="kwd">class</span><span class="pln"> derived </span><span class="kwd">extends</span><span class="pln"> </span><span class="kwd">base</span><span class="pln">
</span><span class="pun">{</span><span class="pln">
</span><span class="kwd">public</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> dis1</span><span class="pun">()</span><span class="pln">
</span><span class="pun">{</span><span class="pln">
echo </span><span class="str">"derived class"</span><span class="pun">;</span><span class="pln">
</span><span class="pun">}</span><span class="pln">
</span><span class="pun">}</span><span class="pln">
$obj </span><span class="pun">=</span><span class="pln"> </span><span class="kwd">new</span><span class="pln"> derived</span><span class="pun">();</span><span class="pln">
$obj</span><span class="pun">-></span><span class="pln">dis1</span><span class="pun">();</span><span class="pln">
?>
输出: