OBJECT-ORIENTED PROGRAMING FULL NOTES