This page contains an archived post to the Design Forum (formerly called the Flexible Java Forum) made prior to February 25, 2002.
If you wish to participate in discussions, please visit the new
Just read Bill's "Composition versus Inheritance" and I felt that it was very valuable. One thing though, composition is indeed more appropriate combined with "delegation" only if the method call that is forwarded has a return value. This is probably another topic, but when should a method have return values? Any rule of thumb for that? How OO is the use of return values?