Протоколы

@protocol Car
-(bool) startEngine;
-(void) stopEngine;
@end

@interface SportCar : NSObject<Car>
@end

@implementation SportCar
bool started;

-(bool) startEngine {
    if (started) {
        return false;
    }
    started = true;
    return true;
}

-(void) stopEngine {
    started = false;
}
@end