Classes, Objects, Initializers, Enumeration & Inheritance.

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)
    }
    
}

 

 

Share this...
Share on FacebookTweet about this on TwitterShare on LinkedInEmail this to someone
 

Prateek

Internet Marketer & Web Developer from New Delhi, India.

 

Leave a Reply

Your email address will not be published. Required fields are marked *