Re: Re: Copying an Object

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



> 
> On 9/24/2010 4:09 AM, Gary wrote:
>> Daniel Kolbo wrote:
>>
>>> Say you have two classes: human and male.  Further, say male extends
>>> human.  Let's say you have a human object.  Then later you want to make
>>> that human object a male object.  This seems to be a pretty reasonable
>>> thing to request of our objects.
>>
>> I don't think any human can change gender without major surgery, but I
>> don't know if you just chose your example badly or whether you really
>> think objects should be able to mutate into other types of object
>> without some kind of special treatment.
>>
>>> This type of thing would especially be
>>> easy if objects of parent classes could be cast as an object of its
>>> extended class.
>>
>> Where would the extra data come from to fill in any fields the base
>> class does not have? Just think of a simple example with a Shape class,
>> extended by a ColouredShape class which contains some data about the
>> object's colour - if you have a Shape object it can't become a
>> ColouredShape without some surgery because bits of the ColouredShape's
>> anatomy are not present.
>>
>> --
>> Gary        Please do NOT send me 'courtesy' replies off-list.
>> PHP 5.2.12 (cli) (built: Jan 14 2010 14:54:11)
>> 1.7.7(0.230/5/3) 2010-08-31 09:58 Cygwin
>>
>>
> 
> The colouredShape class would probably have a member variable called
> $color.  This member could have a default value (as defined in the
> class), be defined through the __construct() method (which would be
> invoked upon such a cast procedure...perhaps there could be a __cast()
> method much like how there is a __clone() method.

-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



[Index of Archives]     [PHP Home]     [Apache Users]     [PHP on Windows]     [Kernel Newbies]     [PHP Install]     [PHP Classes]     [Pear]     [Postgresql]     [Postgresql PHP]     [PHP on Windows]     [PHP Database Programming]     [PHP SOAP]

  Powered by Linux