Source: http://www.philadelphia.edu.jo/academics/nhalasa/uploads/OOP/Ch12%20Classes%20and%20Data%20Abstraction.pdf