Posted by Tony Marston on 12/08/64 11:29
"Jerry Stuckle" <jstucklex@attglobal.net> wrote in message
news:SbudndpdiOjQJNfeRVn-iA@comcast.com...
> Baptiste Pillot wrote:
>> Hello,
>>
>>
>> With php4 I did the following in class initialisation :
>>
>> class base_class {
>>
>> function modify_polymorphic($otherclass){
>> $this=new $otherclass();
>> }
>>
>> function other_function(){
>> echo "Base method";
>> }
>>
>> }
>>
>> class herited_class extends base_class {
>>
>> function other_function(){
>> echo "Herited method";
>> }
>>
>> }
>>
>> $base=new base_class();
>> $base->modify_polymorphic("herited_class");
>> $base->other_function();
>>
>> This will echo "Herited method" in PHP 4.
>> But in PHP 5 it does not wand to work at all.
>> PHP interpreter says :
>>
>> Fatal error: Cannot re-assign $this in scriptname.php on line 10
>
> That is correct. It's never been valid to reassign $this. But previous
> versions of PHP let it by.
You sample code also shows that you do not understand what "polymorphism"
actually means.
--
Tony Marston
http://www.tonymarston.net
[Back to original message]
|