Recipe 3.1: Declaring a Class as AbstractRecipe 3.2: Declaring a Class as an InterfaceRecipe 3.3: Declaring a Class as FinalRecipe 3.4: Declaring a Private ClassRecipe 3.5: Creating a Singleton ClassRecipe 3.6: Adding or Changing an Attribute or Method of a Class at RuntimeRecipe 3.7: Removing an Attribute or Method from a ClassRecipe 3.8: Modifying Properties of an Attribute or Method at RuntimeRecipe 3.9: Modifying the Signature of an Attribute or Method at RuntimeRecipe 3.10: Changing an Attribute to a Method, or Vice VersaRecipe 3.11: Creating AUTOLOADed Attributes and MethodsRecipe 3.12: Creating Autovivifying Attributes and MethodsRecipe 3.13: Creating 'Classless' Object Hierarchies