An Introduction to object-oriented programming - BUDD (Addison Wesley, 2002)