Professional Web Applications Themes

abstract classes and inheritance in php5 - PHP Development

abstract class Foo { final function __construct() { } abstract function init(); } class Pr extends Foo { function init() { } } class CssPr extends Pr { } /* in a code like the above, how can you force all the inherited classes to implement a method like init() ? */...

  1. #1

    Default abstract classes and inheritance in php5

    abstract class Foo {
    final function __construct() {

    }
    abstract function init();
    }
    class Pr extends Foo {
    function init() {

    }
    }
    class CssPr extends Pr {

    }
    /*
    in a code like the above, how can you force all the inherited classes to
    implement a method like init() ?
    */


    Ollie Guest

  2. #2

    Default Re: abstract classes and inheritance in php5

    Ollie wrote: 

    Not possible, because only the class that extends the abstract class is
    forced to implement the method.

    Other classes just inherit the method.


    JW



    Janwillem Guest

  3. #3

    Default Re: abstract classes and inheritance in php5

    Janwillem Borleffs wrote: 

    However, there is a way using the Reflection API:

    abstract class Foo {
    final function __construct() {
    $rm = new ReflectionMethod($this, 'init');
    if (get_class($this) != $rm->getDeclaringClass()->getName()) {
    throw new Exception("init() method must be implemented");
    }
    }
    abstract function init();
    }

    But be aware that using the Reflection API in production applications can
    have a negative impact on performance.


    JW



    Janwillem Guest

Similar Threads

  1. abstract class in php5 and xml parsing problem
    By Olivier in forum PHP Development
    Replies: 2
    Last Post: May 9th, 11:44 PM
  2. WSE 2.0- Generating abstract SoapService classes from WSDL
    By raj712k in forum ASP.NET Web Services
    Replies: 0
    Last Post: June 16th, 07:41 PM
  3. PHP, classes, "extends", inheritance.. help!!
    By Phil in forum PHP Development
    Replies: 4
    Last Post: February 12th, 02:22 PM
  4. PHP5 - self referencing classes
    By Thomas Hebinck in forum PHP Development
    Replies: 0
    Last Post: August 28th, 02:48 PM
  5. PHP5 & Old style classes
    By Gerard Samuel in forum PHP Development
    Replies: 0
    Last Post: August 27th, 05:36 PM

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139