mirror of
https://github.com/sigmasternchen/php-doc-en
synced 2025-03-16 08:58:56 +00:00
- Include final classes
git-svn-id: https://svn.php.net/repository/phpdoc/en/trunk@169583 c90b9560-bf6c-de11-be94-00142212c4b1
This commit is contained in:
parent
1c86e97348
commit
fa0abba16b
1 changed files with 26 additions and 2 deletions
|
@ -1,10 +1,11 @@
|
|||
<?xml version="1.0" encoding="iso-8859-1"?>
|
||||
<!-- $Revision: 1.4 $ -->
|
||||
<!-- $Revision: 1.5 $ -->
|
||||
<sect1 id="language.oop5.final">
|
||||
<title>Final Keyword</title>
|
||||
<para>
|
||||
PHP 5 introduces the final keyword, which prevents child classes from
|
||||
overriding a method by prefixing the definition with final.
|
||||
overriding a method by prefixing the definition with final. If the class
|
||||
itself is being defined final then it cannot be extended.
|
||||
</para>
|
||||
|
||||
<example>
|
||||
|
@ -33,6 +34,29 @@ class ChildClass extends BaseClass {
|
|||
</programlisting>
|
||||
</example>
|
||||
|
||||
<example>
|
||||
<title>Final class example</title>
|
||||
<programlisting role="php">
|
||||
<![CDATA[
|
||||
<?php
|
||||
final class BaseClass {
|
||||
public function test() {
|
||||
echo "BaseClass::test() called\n";
|
||||
}
|
||||
|
||||
// Here it doesn't matter if you specify the function as final or not
|
||||
final public function moreTesting() {
|
||||
echo "BaseClass::moreTesting() called\n";
|
||||
}
|
||||
}
|
||||
|
||||
class ChildClass extends BaseClass {
|
||||
}
|
||||
// Results in Fatal error: Class ChildClass may not inherit from final class (BaseClass)
|
||||
?>
|
||||
]]>
|
||||
</programlisting>
|
||||
</example>
|
||||
</sect1>
|
||||
|
||||
<!-- Keep this comment at the end of the file
|
||||
|
|
Loading…
Reference in a new issue