in reply to Re: Converting Moose object to a subclass of itself
in thread Converting Moose object to a subclass of itself
Can you explain why you're wanting to do this? Why not just use the instance of the child object directly, and leave the parent as-is, as a parent class object? Or if you want to use the child object through the parent, stuff a copy of the object into the parent and use it from there?
It seems as though re-blessing the object may lead to potential confusion down the road, and may break things if someone tries to generate another object from the parent, instead of using the class:
# this may break/do something unexpected if $self is # re-blessed my $obj = $self->new(%params); # worse, the wordpress child probably doesn't have a wordpress_new() # method, as it has no need to. The parent probably calls new() on the # child through a wordpress-type instantiator my $obj = $self->wordpress_new();
Confusion?
my $parent = Foo::Bar->new; # after rebless, calling a documented method in the parent # class may cause major confusion (or worse, subtle breakage far away) # if the child has the same method overridden, and does something # totally different $parent->documented_method(); # got foo and not bar!?
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^3: Converting Moose object to a subclass of itself
by nysus (Parson) on Feb 26, 2017 at 23:08 UTC | |
by stevieb (Canon) on Feb 26, 2017 at 23:19 UTC | |
by nysus (Parson) on Feb 26, 2017 at 23:42 UTC | |
by stevieb (Canon) on Feb 27, 2017 at 00:08 UTC | |
by nysus (Parson) on Feb 27, 2017 at 01:05 UTC | |
| |
|
Re^3: Converting Moose object to a subclass of itself
by Anonymous Monk on Feb 27, 2017 at 19:00 UTC |