Динамическое связывание

Динамическое связывание определяет метод для вызова во время выполнения вместо во время компиляции. Динамическое связывание также упоминается как позднее связывание. В Objective C все методы разрешены динамично во время выполнения. Точный выполняемый код определяется обоими имя метода (селектор) и принимающий объект.

Динамическое связывание включает полиморфизм. Например, рассмотрите набор объектов включая Dog, Athlete, и ComputerSimulation. Каждый объект имеет свою собственную реализацию a run метод. В следующем фрагменте кода, фактический код, который должен быть выполнен выражением [anObject run] определяется во время выполнения. Система во время выполнения использует селектор для метода run идентифицировать надлежащий метод во что класс anObject оказывается.

NSArray *anArray = [NSArray arrayWithObjects:aDog, anAthlete, aComputerSimulation, nil];
id anObject = [anArray objectAtIndex:(random()/pow(2, 31)*3)];
[anObject run];

Пример иллюстрирует, как динамический Objective C — эта функция используется глубоко в Какао.

Необходимые как условие статьи

Похожие статьи

    (Ни один)

Категорическое обсуждение