Object Oriented Programming
Inheritance in Swift
Inheritance is used to inherit another class' members, including fields and methods. A subclass extends a base class' members.
Syntax
modifier class subClass: baseClass {
    //the initializer is NOT inherited by default
    override init() {
        super.init()
    }
    //to access a superClass member
    super.methodName();
    //to override a superClass member, use the override keyword
    override superClassMember() {
    }
} ;Notes
The super keyword is used to access the super class' member.
When a method is overridden, the compiler checks to see if the same method declaration exists in the super class. Override can be prevented using the 'final' keyword.
Example
public class Cat {
    var name: String    
    init() {
        this.name = "Garfield";        
    }    
    func sound() -> String { //implemented sound method from the interface
        return "Meow!";
    }
} 
public class Tiger: Cat { //the variable 'name' and the method 'sound()' are inherited
    init() {
        super.init(); //calling the constructor in the super class, Cat
    }
    override func sound() -> String { //overriding the sound() method in Cat
        return "Roar!";
    } 
    func catSound() -> String {
        return super.sound(); //calling the sound method from Cat, non-overwritten
    }
}