in reply to Re^4: Private Methods Meditation
in thread Private Methods Meditation
If you have a method in your subclass, you always run the risk that the parent class will define a method with the same name, but with very different functionality.
Not so. In C++, a method must be explicitly declared as virtual if you wish to allow it to be overridden in subclasses. As a result, a if you call a superclass method and that method calls the method foo(), it will only grab the subclass foo() if the superclass had declared foo() as virtual. (At least, that's my understanding. C++ is not my strong suit.)
In Java, you can declare a method as private and subclasses cannot override that method.
I'm still not sure how subclassing messes with something's internals, though. In Perl, it's pretty much a given that this will happen since there is so little support for encapsulation. This ties in with my comments above. I don't know if tilly meant all OO languages.
Cheers,
Ovid
New address of my CGI Course.
|
---|