|Think about Loose Coupling|
OO-style questionby Ovid (Cardinal)
|on Dec 30, 2000 at 00:42 UTC||Need Help??|
Ovid has asked for the
wisdom of the Perl Monks concerning the following question:
I have a problem that I'm not sure of the best approach to take. I have a base class that has two sub-classes that inherit from it:
B has similar functionality to A. A returns some data, B writes the data to a file, but in a different format than the data returned from A. Under some circumstances, the data written to the file from B is in the exact same format as the data returned from A.
However, I don't want B to inherit A's methods as I don't want the user accessing them from the object. In other words, I might have
What I don't want is
But that happens if I inherit from A, unless I write a bunch of methods to trap those calls and let the user know they shouldn't do that.
The alternative seems to be having B instantiate an A object, but having subclasses instatiating instances of each other strikes me as problematic. I keep up that habit and I might start winding up with circular references that I'll have to explicitly destroy.
Summary: two options that I see:
Join the Perlmonks Setiathome Group or just click on the the link and check out our stats.