I have two classes (MyFoo1 and MyFoo2) that share some common functionality. So far it does not seem like I need any polymorphic inheritence but at this point I am considering the following options:
- Have the common functionality in a utility class. Both of these classes call these methods from that utility class.
- Have an abstract class and implement common methods in that abstract class. Then derive
MyFoo1andMyFoo2from that abstract class.
Any suggestion on what would be a better design decision?

Foo1andFoo2are in your question. i.e. it is not clear whether they are specialisations of the same thing. Can you tell us more about them? – Steve Fenton Nov 22 '11 at 16:59