An Introduction to Object Oriented Programming - Budd, Timothy (2009)