First off, I don't see that Perl has any "limitations" when it comes to OO. I've been able to simulate every single OO feature I've ever wanted to have. You just have to be willing to either trust someone else's implentation (which is what you do for all other OO languages) or (what I do) roll your own.

First off, I've never used any package to do OO work. I've never even looked at any code (other than Advanced Perl, and it didn't even work out of the box).

What I do for data inheritance (both class and instance) is to have a virtual base class that does all that book-keeping for you. I've used $self->SUPER::new to do that, but I prefer the virtual base class.

As for method inheritance - isn't that what @ISA provides for you? Well, more of method re-dispatch, but isn't that the same thing?

As for class vs. inheritance methods ... If you have a huge amount of class methods vs. a small amount of instance methods, doesn't that mean you have a singleton? If you have a huge amount of instance methods and a small amount of class methods, doesn't that mean you're working with a set of objects that have a few book-keeping functions in the background? *shrugs*

I guess I just don't see things as black and white and many others do. I write stuff. It gets the job done. I have fun doing it. I get paid. I go home to my fiancee and kids. :-)

------
We are the carpenters and bricklayers of the Information Age.

Don't go borrowing trouble. For programmers, this means Worry only about what you need to implement.


In reply to Re: (Ovid) Re(3): A question of Inheritance by dragonchild
in thread A question of Inheritance by tradez

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.