作者简介
加斯顿·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 Specialization
Creating class hierarchies to abstract and specialize 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 Specialization
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
内容摘要
作为一本易于操作的学习指南,由加斯顿·C.希勒著的《Swift2面向对象编程(影印版)(英文版)》包含了大量swift面向对象编程常见问题的解决方法。
书中以真实的场景帮助你了解对象的概念,演示如何利用对象轻松地编写出易于理解和重用的代码。
你将从中学习到使用swift的数据封装特性来保护和隐藏数据,通过编写能够处理不同类型对象的代码来最大化地实现代码重用,见识到参数多态的威力以及如何在普通代码中使用继承和多重继承。之后,你将学习重构现有代码以及使源代码易于维护和扩展的组织方法。
阅读完本书之后,你将能够编写出质量更高、更健壮、更具备可重用性的代码,这一切都有助于你构建更棒的应用程序。
精彩内容
作为一本易于操作的学习指南,由加斯顿·C.希 勒*的《Swift2面向对象编程(影印版)(英文版)》包 含了大量swift面向对象编程常见问题的解决方法。
书中以真实的场景帮助你了解对象的概念,演示如何 利用对象轻松地编写出易于理解和重用的代码。
你将从中学习到使用swift的数据封装特性来保 护和隐藏数据,通过编写能够处理不同类型对象的代 码来*大化地实现代码重用,见识到参数多态的威力 以及如何在普通代码中使用继承和多重继承。之后, 你将学习重构现有代码以及使源代码易于维护和扩展 的组织方法。
阅读完本书之后,你将能够编写出质量*高、* 健壮、*具备可重用性的代码,这一切都有助于你构 建*棒的应用程序。
以下为对购买帮助不大的评价