in reply to Re: A first attempt.. at OO perl
in thread A first attempt.. at OO perl
Not entirely, I fear. You don't seem to use method calls at all. Consider $num_opt=getopt_dev->add_option($self,$opt,$type); - normally in OO you'd write $num_opt = $self->add_option($opt, $type); instead.
Ah. Ok, that explains why things look a little different in other people's code I've read. This is what I tried to begin with, but then, when you call your methods from outside the module, don't you have to call them like getopt_dev->add_option($self,$opt,$type); ? And if so, how do you deal with the class name being the first argument? I have the feeling I really do have the wrong end of the stick here!
That way one can actually subclass your module and override methods in the the derived module.
:| ok I'll, er look this up when I have the chance..! I sort of think I know what you mean, but don't know why this is the case..
Frankly I'm not too fond on going through all of your code to check for other OO paradigms. If you provide a Synopsis (ie a small usage summary, as found in the documentation of all good CPAN modules) it will be much easier to judge if your approach is a good one.
No, I don't blame you. I thought I'd just chuck all the code down since I didn't even really know what specific questions to ask and hoped someone enlightened like you would point me in the right direction. Thanks for all your comments. When I have some time (this is not something I should probably be doing much, if anything on during work hours) I will have a bash at a synopsis thingy and post it.
A note on style: using an underscore in module names is generally frowned upon, use CamelCase instead, or separate the words with in the module name with :: instead.
Noted.. when should you use :: ? I thought that was used as a file separator character?Update: Fixed typos
Those are my principles. If you don't like them I have others.
-- Groucho Marx