When I set croak calls and other things in the supposedly-inherited routine (in Foo), they never went off. But the routine in Bar did.

This is confusing. Some example code would help tremendously. Do you mean the routine is defined in the Foo package? Or do you mean a routine defined in Bar? Methods in Foo are not inherited by Bar. Calling a method on a Foo object not defined in Foo but defined in the Bar package should correctly "go off" in the Bar routine.

Furthermore: other methods defined in Foo (but not in Bar...) were available. So, it’s not like Perl didn’t know what package I was talking to ... it’s just that a routine defined in the child-class was ignored in favor of the parent, and I don’t know quite why.

I think you have the child-parent relationship backwards. Methods defined in the Foo package should indeed be available for a Foo object but not for a Bar object. Foo is the child class and Bar is the parent.

The following is a trivial pet-peeve of mine. You don't need to bless $self, $class inside Foo::new because Bar::new should already have blessed it. The first parameter to Bar::new will be "Foo".


In reply to Re: Duh. What am I missing about inherited constructors? by juster
in thread Duh. What am I missing about inherited constructors? by locked_user sundialsvc4

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.