3.1. Understanding Objects3.1.1.3.1.1.1. Understanding inheritance3.1.1.2. Using polymorphism3.1.1.3. Using the id datatype3.1.2. Creating classes3.1.2.1. Working with class files3.1.2.2. Writing object methods3.1.2.3. Working with the special object methods3.1.2.4. Writing class methods3.1.3. Declaring objects3.1.4. Making calls on objects3.2. Working with Properties3.2.1. Understanding the differences between state and behavior3.2.1.1. Using properties to declare object state3.2.1.2. Understanding synthesized property accessors3.2.1.3. Using the nonatomic attribute3.2.1.4. Using the assign, retain, and copy Attributes3.2.1.5. Using properties with different data member names3.2.2. Using dot notation3.3. Applying Objects3.3.1. Creating the employee class3.3.2. Creating the manager class3.3.3. Tying the classes together in the HR main