I think example code would go a long way here. If you think it's likely that someone might want to subclass Own and Own::Dir, then in the following, consider that in Own::parent, Own::Dir->new is hardcoded, and so, someone who wants to override Own::parent and call the superclass method, but wants to return their own subclass of Own::Dir, would have to find some workaround to do so. OTOH, if Own is some internal class, this case might be so unlikely that this may just be overthinking things.
use warnings; use 5.012; package Own { sub parent { my $self = shift; say "called Own::parent()"; # Debug return Own::Dir->new('...'); } } package Own::File { use parent -norequire, 'Own'; use parent 'Path::Class::File'; } package Own::Dir { use parent -norequire, 'Own'; use parent 'Path::Class::Dir'; } say "Own::File->parent: ", Own::File->new('.')->parent; say "Own::Dir->parent: ", Own::Dir->new('.')->parent;
In reply to Re^3: Calling subclass' method from superclass
by haukex
in thread Calling subclass’ method from superclass
by Fendo
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |