To validate the type of an instance 'Type Casting' comes into play in Swift language. It is
used to check whether the instance type belongs to a particular super class or subclass or
it is defined in its own hierarchy.
Swift type casting provides two operators 'is' to check the type of a value and 'as' and to
cast the type value to a different type. Type casting also checks whether the instance type
follows particular protocol conformance standard.
Defining a Class Hierarchy
Type casting is used to check the type of instances to find out whether it belongs to
particular class type. Also, it checks hierarchy of classes and its subclasses to check and
cast those instances to make it as a same hierarchy.
class Subjects {
var physics: String
init(physics: String) {
self.physics = physics
}
}
class Chemistry: Subjects {
var equations: String
init(physics: String, equations: String) {
self.equations = equations
super.init(physics: physics)
}
}
class Maths: Subjects {
var formulae: String
init(physics: String, formulae: String) {
self.formulae = formulae
super.init(physics: physics)
}
}