The other major concept you should recognize is that of object composition. This is simply the construction of objects that contain others: encapsulation of several
Tag: Design Pattern; Programming
Putting this more succinctly, you should define the top of any class hierarchy with an abstract class or an interface, which implements no methods but