ENGLISH

Swift 3 Object-Oriented Programming

Book information

Publisher
Packt Publishing
Year
2017
ISBN
9781787120396, 1787120392, 9781787120990, 1787120996
Language
english
Format
EPUB
Filesize
56 MB (58382628 bytes)
Edition
2nd edition
Pages
363 pages\0
Time added
2020-07-26 19:24:52

Description

Cover -- Credits -- About the Author -- Acknowledgement -- About the Reviewer -- www.PacktPub.com -- Customer Feedback -- Table of Contents -- Preface -- Chapter 1: Objects from the Real World to the Playground -- Installing the required software on Mac OS -- Installing the required software on Ubuntu Linux -- Working with Swift 3 on the web -- 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 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 -- Creating values shared by all the instances of a class with type properties -- 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.;Annotation Cover -- Credits -- About the Author -- Acknowledgement -- About the Reviewer -- www.PacktPub.com -- Customer Feedback -- Table of Contents -- Preface -- Chapter 1: Objects from the Real World to the Playground -- Installing the required software on Mac OS -- Installing the required software on Ubuntu Linux -- Working with Swift 3 on the web -- 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 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 -- Creating values shared by all the instances of a class with type properties -- 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 compound assignment operator functions -- Declaring unary operator functions -- 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 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: Extending and Building Object-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 iOS 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 the 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 and Functional Programming -- Chapter 8, Extending and Building Object-Oriented Code -- Index.

Similar books