1. OOP Introduction# 1.1. Motivation 1.2. Objects 1.2.1. Example 1: Rectangle 1.2.2. Example 2: Bank Account 1.2.3. Behaviours 1.3. Object-Oriented Programming 1.3.1. Classes 1.3.2. Instances 1.3.3. Abstraction 1.3.4. Encapsulation 1.4. Creating Objects 1.4.1. Classes 1.4.2. The Constructor 1.4.3. Self 1.4.4. Instances 1.5. Attributes 1.5.1. Accessing Attribute Values 1.5.2. Setting Attribute Values 1.6. General Methods 1.6.1. Defining a Method 1.6.2. Self 1.6.3. Calling a Method 1.6.4. Many Methods 1.6.5. Fruitful Methods 1.7. Class Attributes and Methods 1.7.1. Attributes 1.7.2. Methods