David Waring wrote: > > I have found on several occasions that I would like to extend a class, but > variables and methods are private so it is impossible to make use of these > in the subclass. Is there a policy about when things should be kept private, > and when they should be protected? Is it OK to change this in a base class > when extending it? > David,
It might be a good idea to discuss the situation on this list when such a situation occurs - the authors may have been following the "keep things as private as possible" rule. That is, in some cases, there may be no inherent design reason that some aspects of a class shouldn't be made more public. There is a view, however, that would say it's an "anti-pattern" to extend classes in an API you don't have absolute control of. There are obvious exceptions to this rule - for example, optimal patterns for design of GUIs based on the JFC/Swing API include extending Swing classes. Thus, it might also make sense to ask yourself whether inheritance is *really* the appropriate design for the use cases you're talking about. Simon -- Simon M. Brocklehurst, Ph.D. Head of Bioinformatics & Advanced IS Cambridge Antibody Technology The Science Park, Melbourn, Cambridgeshire, UK http://www.CambridgeAntibody.com/ mailto:[EMAIL PROTECTED] _______________________________________________ Biojava-l mailing list - [EMAIL PROTECTED] http://biojava.org/mailman/listinfo/biojava-l