This post contains certain important aspects like basics of creating classes and objects and other relevant material.
Create a class
// Created a class and set its properties. class Car { var color : "Black" var seats : 5 }
Enumeration : Basically creating a new data type.
// creating an enum enum CarType { case Sedan case Coupe case Hatchback } // Further can be used in class - example class Car { var color = "Black" var numberOfSeats : Int = 5 // Using the data type created using enum var typeOfCar : CarType = .Coupe }
Designated initializers
class Car { var color = "Black" var numberOfSeats : Int = 5 var typeOfCar : CarType = .Coupe // Creating an initialiser which is designated(compulsory) init(customerChosenColor : String) { color = customerChosenColor } }
Convenience initializers
class Car { var color = "Black" var numberOfSeats : Int = 5 var typeOfCar : CarType = .Coupe init(customerChosenColor : String) { color = customerChosenColor } // Creating convenience init - using it is not compulsory when creating an object convenience init(customerChosenColor : String) { self.init() color = customerChosenColor } }
Creating a method for the class
enum CarType { case Sedan case Coupe case Hatchback } class Car { var color = "Black" var numberOfSeats : Int = 5 var typeOfCar : CarType = .Coupe init(customerChosenColor : String) { color = customerChosenColor } convenience init(customerChosenColor : String) { self.init() color = customerChosenColor } // Method created func drive() { print("car is moving.") } }
Creating the Object
// Creating a new object let myCar = Car() let richGuysCars = Car(customerChosenColor: "Red") // Printing properties of the class print(myCar.color) print(myCar.numberOfSeats) print(myCar.typeOfCar) // method drive is only associated with myCar Object myCar.drive()
Inheritance : Class – In Swift
// Class inherit. SelfDrive class inherits the Car class and the method in the class car called drive() class SelfDrive : Car { var destination : String = "Apple Store" override func drive() { // super.drive() means adding the default functionality to the override being performed. super.drive() print("Driving to " + destination) } }