Object oriented programming Principles and fundamentals - Keogh James Au. (2004)