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 > > > _______________________________________________ > Biojava-l mailing list - [EMAIL PROTECTED] > http://biojava.org/mailman/listinfo/biojava-l >
Hi David, I'm probably among the worst offenders in this. I tend to make everything private if possible and all fields final if possible. I feel that it lets the compiler trap many things for you, and prevents sub-classes violating contracts that thier pairents assume (java doesn't have full pre-/post- conditions - design by contract is great). Of course, if we didn't propperly consider how the class or interface may be implemented differently and didn't provide APIs to allow developers to extend these, then we need to look at these cases again. Could you give us a quick rundown of where you have been hampered by private/protected members? Thanks, Matthew _______________________________________________ Biojava-l mailing list - [EMAIL PROTECTED] http://biojava.org/mailman/listinfo/biojava-l
