Re: RfC: rethink OO inheritance strictness
| From: | Mike Bretz | Date: | Fri, 21 Jul 2006 09:18:31 +0000 |
| Subject: | Re: RfC: rethink OO inheritance strictness | ||
| References: | 1 | Groups: | php.internals |
| Request: | Send a blank email to internals+get-24810@lists.php.net to get a copy of this message | ||
Michael Wallner wrote:
> mike@honeybadger:~/build/php-unicode-debug$ cli
> -d"error_reporting=8191" -r 'class c{function f(){}} class d extends
> c{function f($a){}}'
> Fatal error: Declaration of d::f() must be compatible with that of
> c::f() in Command line code on line 1
>
>
> I *really* think that this enforcements are no good idea and I _beg_
> you that we leave this "area" to interfaces.
+1
In real live "C++" world I often have parent classes with function f()
and an extended class which also uses the function name f(..) but with
other, possibly class specific, variables, which then calls parent
f()... I do not see a good reason to enforce that both functions must be
exactly the same when extending, especially since c::f() does not get
called automatically, _when_ overwriting it in class d.
mike
--
mike peter bretz metropolis ag / entwicklung
email: m.bretz@metropolis-ag.de heinestraße 72
phone: +49-7121-348-120 d-72762 reutlingen
fax: +49-7121-348-111 http://www.metropolis-ag.de/
metropolis ag. creating social internetworks.