Protocols

protocol Car {
    func startEngine() -> Bool
    func stopEngine()
}

class SportCarCar {
    private var started: Bool = false

    func startEngine() -> Bool {
        if started {
            return false
        }
        print("start engine")
        started = true
        return true
    }

    func stopEngine() {
        print("stop engine")
        started = false
    }
}

let car = SportCar()
print("started is \(car.startEngine())")