helly           Wed Sep 29 15:53:43 2004 EDT

  Modified files:              
    /phpdoc/en/language/oop5    final.xml 
  Log:
  - Include final classes
  
http://cvs.php.net/diff.php/phpdoc/en/language/oop5/final.xml?r1=1.4&r2=1.5&ty=u
Index: phpdoc/en/language/oop5/final.xml
diff -u phpdoc/en/language/oop5/final.xml:1.4 phpdoc/en/language/oop5/final.xml:1.5
--- phpdoc/en/language/oop5/final.xml:1.4       Mon Sep 27 10:38:44 2004
+++ phpdoc/en/language/oop5/final.xml   Wed Sep 29 15:53:43 2004
@@ -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 @@
    </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

Reply via email to