A great reading of the fundamental design decision: inherence or composition? http://groups.yahoo.com/group/extremeprogramming/message/67018 Delegation means that you include an instance of another class as an instance variable, and forward messages to the instance. It is often safer than inheritance because it forces you to think about each message you forward http://www.norvig.com/java-iaq.html#del2