I would have the method X() in the children as well, and call SUPER from there if you want to run the parent method.

The problem with this (and jaa's response) is that it solves a different problem from the OP's :-)

When you specialise a method through inheritance you can either replace it completely, or add behaviour before and after it runs.

However with the OP's method:

sub X {    my $self = shift @_;    ...    $self->_Private_X();    ... }

the behaviour that we want to tweak occurs in the middle of X's execution. You can't get at that by specialising X in a subclass.

You see this pattern quite a lot when you have the same skeleton behaviour with various different implementations. The OP is doing exactly the right thing in isolating this behaviour that changes in a separate method that can then be specialised in each subclass.


In reply to Re^2: overridden method - best way by adrianh
in thread overridden method - best way by shemp

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.