Swift 3 Object-Oriented Programming
Book information
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
Swift 3 Object-Oriented Programming
2017 · PDF
Object–Oriented Programming with Swift 2
2016 · EPUB
Object-Oriented Programming with Swift 2
2016 · PDF
Building RESTful Python web services create web services that are lightweight, maintainable, scalable, and secure using the best tools and techniques designed for Python
MOBI
Hands-On MQTT Programming with Python
2018 · EPUB
MQTT essentials : a lightweight IoT protocol : the preferred IoT publish-subscribe lightweight messaging protocol
2017 · EPUB
Managing Data and Media in Silverlight 4: A mashup of chapters from Packt's bestselling Silverlight books
2012 · EPUB
From logos to trinity : the evolution of religious beliefs from Pythagoras to Tertullian
2012 · PDF