|
Posted by Tim Van Wassenhove on 06/25/06 12:01
On 2006-06-25, David Haynes <david.haynes2@sympatico.ca> wrote:
> PHP5 has weak polymorphism but not true polymorphism in the sense that
> it is used in OOP.
So how would you define polymorphism? And what exactly are the
differences between 'weak' and 'true' polymorphism?
If i look at http://en.wikipedia.org/wiki/Polymorphism_%28computer_science%29
"The concept of polymorphism applies to data types in addition to
functions. A function that can evaluate to and be applied to values of
different types is known as a polymorphic function. A data type that
contains elements of different types is known as a polymorphic data
type."
> function __construct($one, $two="two", $three="three") {
>
> I cannot instantiate this object as new Foo($one, $three) since there is
> no typing on the arguments and, therefore, no signature for a 'one,
> three' contructor.
Imho that's the same as saying: I'm standing with my back against a wall,
and now i'm wondering why i can't step backwards anymore...
Define your constructor as __constructor($args) and handle with
func_num_args and func_get_args(s) any number of parameters...
(I do agree that the language/compiler can, probably should, make this
easier... But that's a different discussion.)
--
Met vriendelijke groeten,
Tim Van Wassenhove <http://timvw.madoka.be>
Navigation:
[Reply to this message]
|