"Class methods" can mean two things, depending on which flavor of OO you grew up with.

In the Smalltalk world, "class methods" are methods that are called without needing to have an instance of the class.   $baz = Foo::bar(); Methods invoked thusly don't have access to any instance data, but do have access to "class globals".

Other schools of OO use the term to mean methods that are called via an instance of the class.   $baz = $instanceOfFoo->bar(); (Astute readers will note that may CGI.pm methods "switch hit", and can be called either way.)

From your question, I'm guessing you mean the latter usage, and that you're looking for a way of doing "protected" methods, which are instance methods that are only visible (and hence callable) from an instance of the class, and not for anyone outside of the class.

Perl doesn't directly support protected methods. But there are conventions. One convention is to prepend '_' to the method name to indicate that it's for internal use.


In reply to Re: How to call Class method inside an object? by dws
in thread How to call Class method inside an object? by chorg

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.