http://www.perlmonks.org?node_id=1024356


in reply to changing moose object classes on the go

If I simply bless my $dog into LABRADOR then he won't be golden. How can I resolve this situation?

By creating a new LABRADOR object, and using it instead of the old object. You can reuse the attributes from the original DOG object.

Seriously, changing the type of an object is a an usual requirement, and might point to a flaw in your overall design. If a dog is a labrador, it's already born a labrador. Or phrased differently, time-dependent properties should not encoded in the type.

  • Comment on Re: changing moose object classes on the go