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