Селектор target-c, есть ли в других языках, таких как c ++, python, ruby, java, javascript, похожая вещь?

0
// main.m
#import <Foundation/Foundation.h>
#import "Car.h"

int main(int argc, const char * argv[]) {

@autoreleasepool {
    Car *porsche = [[Car alloc] init];
    porsche.model = @"Porsche 911 Carrera";

    SEL stepOne = NSSelectorFromString(@"startEngine");
    SEL stepTwo = @selector(driveForDistance:);
    SEL stepThree = @selector(turnByAngle:quickly:);

    // This is the same as:
    // [porsche startEngine];
    [porsche performSelector:stepOne];

    // This is the same as:
    // [porsche driveForDistance:[NSNumber numberWithDouble:5.7]];
    [porsche performSelector:stepTwo
                  withObject:[NSNumber numberWithDouble:5.7]];

    if ([porsche respondsToSelector:stepThree]) {
        // This is the same as:
        // [porsche turnByAngle:[NSNumber numberWithDouble:90.0]
        //              quickly:[NSNumber numberWithBool:YES]];
        [porsche performSelector:stepThree
                      withObject:[NSNumber numberWithDouble:90.0]
                      withObject:[NSNumber numberWithBool:YES]];
    }
    NSLog(@"Step one: %@", NSStringFromSelector(stepOne));
}
return 0;
}

Для селектора object-c существуют ли другие языки, такие как c++, python, ruby, java, javascript? благодаря

  • 0
    Посмотрите "отражение" для Java и C #
  • 2
    Я мог бы ответить на этот вопрос простым ДА, и это был бы правильный ответ. Если вы ожидаете более полезную информацию, спросите соответственно. Может быть, вы хотите знать, как выглядят эквиваленты в определенных языках? Спросите специально для этого языка, а не просто "... для C ++, Javascript, Java и т. Д ....". Этому нет конца.
Показать ещё 1 комментарий

1 ответ

0
Лучший ответ

Да. C++ имеет указатель на членов, которые выполняют аналогичную функцию, - они идентифицируют метод экземпляра, который затем можно вызвать, предоставляя объект для вызова метода on и аргументов, аналогичную семантику (по модулю Objective-C с использованием динамической привязки и C++ с использованием поздняя привязка), а скорее другой синтаксис для performSelector:withObject: и т.д.

Другие? Все языки имеют описания, доступные в Интернете...

Ещё вопросы

Сообщество Overcoder
Наверх
Меню