What if someone decides that he wants to inherit your class, even though you didn't plan that? Personally I believe users of my module to be competent and not seldom more competent coders than I so there's a great risk I'll overlook something that at least some users will see. So I try to not paint myself into corners if I easily can avoid it. This applies to more than inheritance and accessors.

Why pay the price now if it's easy to change the code later?

For a user that wants to extend your module it's not easy. In an ideal world the user would send you a patch and then write his extention, but we're not quite there yet...

One should be nice to one's users! (At least if it hardly costs you anything.)

ihb

In reply to Re: Re: Make your classes use their own methods by ihb
in thread Make your classes use their own methods by petdance

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.