作者简介 加斯顿·C.希勒,Gaston C. Hillar is an Italian and has been working with computers since he was 8 years old. In the early 80s, he began programming with the legendary Texas TI-99/4A and Commodore 64 home computers. Gaston has a bachelor's degree in computer science and graduated with honors. He also holds an MBA in which he graduated with an outstanding thesis. At present, Gaston is an independent IT consultant and a freelance author who is always looking for new adventures around the world. He has been a senior contributing editor at Dr. Dobb's and has written more than a hundred articles on software development topics. Gatson was also a former Microsoft MVP in technical computing. He has received the prestigious Intel Black Belt Software Developer award seven times.
目录 Preface Chapter 1: Objects from the Real World to Playground Installing the required software Capturing objects from the real world Generating classes to create objects Recognizing variables and constants to create properties Recognizing actions to create methods Organizing classes with UML diagrams Working with API objects in the Xcode Playground Exercises Test your knowledge Summary Chapter 2: Structures, Classes, and Instances Understanding structures, classes, and instances Understanding initialization and its customization Understanding deinitialization and its customization Understanding automatic reference counting Declaring classes Customizing initialization Customizing deinitialization Creating the instances of classes Exercises Test your knowledge Summary Chapter 3: Encapsulation of Data with Properties Understanding the elements that compose a class Declaring stored properties Generating computed properties with setters and getters Combining setters, getters, and a related property Understanding property observers Transforming values with setters and getters Using type properties to create values shared by all the instances of a class Creating mutable classes Building immutable classes Exercises Test your knowledge Summary Chapter 4: Inheritance, Abstraction, and Speization Creating class hierarchies to abstract and speize behavior Understanding inheritance Declaring classes that inherit from another class Overriding and overloading methods Overriding properties Controlling whether subclasses can or cannot override members Working with typecasting and polymorphism Taking advantage of operator overloading Declaring operator functions for specific subclasses Exercises Test your knowledge Summary Chapter 5: Contract Programming with Protocols Understanding how protocols work in combination with classes Declaring protocols Declaring classes that adopt protocols Taking advantage of the multiple inheritance of protocols Combining inheritance and protocols Working with methods that receive protocols as arguments Downcasting with protocols and classes Treating instances of a protocol type as a different subclass Specifying requirements for properties Specifying requirements for methods Combining class inheritance with protocol inheritance Exercises Test your knowledge Summary Chapter 6: Maximization of Code Reuse with Generic Code Understanding parametric polymorphism and generic code Declaring a protocol to be used as a constraint Declaring a class that conforms to multiple protocols Declaring subclasses that inherit the conformance to protocols Declaring a class that works with a constrained generic type Using a generic class for multiple types Combining initializer requirements in protocols with generic types Declaring associated types in protocols Creating shortcuts with subscripts Declaring a class that works with two constrained generic types Using a generic class with two generic type parameters Inheriting and adding associated types in protocols Generalizing existing classes with generics Extending base types to conform to custom protocols Test your knowledge Exercises Summary Chapter 7: Object-Oriented Programming and Functional Programming Refactoring code to take advantage of object-oriented programming Understanding functions as first-class citizens Working with function types within classes Creating a functional version of array filtering Writing equivalent closures with simplified code Creating a data repository with generics and protocols Filtering arrays with complex conditions Using map to transform values Combining map with reduce Chaining filter, map, and reduce Solving algorithms with reduce Exercises Test your knowledge Summary Chapter 8: Extendin and Buildin Obect-Oriented Code Putting together all the pieces of the object-oriented puzzle Adding methods with extensions Adding computed properties to a base type with extensions Declaring new convenience initializers with extensions Defining subscripts with extensions Working with object-oriented code in apps Adding an object-oriented data repository to a project Interacting with an object-oriented data repository through Picker View Exercises Test your knowledge Summary Appendix: Exercise Answers Chapter 1, Objects from the Real World to Playground Chapter 2, Structures, Classes, and Instances Chapter 3, Encapsulation of Data with Properties Chapter 4, Inheritance, Abstraction, and Speization Chapter 5, Contract Programming with Protocols Chapter 6, Maximization of Code Reuse with Generic Code Chapter 7, Object-Oriented Programming and Functional Programming Chapter 8, Extending and Building Object-Oriented Code Index
以下为对购买帮助不大的评价