перегрузка и переопределение, которые происходят, когда: компиляция или время выполнения - PullRequest
0 голосов
/ 19 марта 2011

Перегрузка и переопределение: что происходит во время компиляции, а какое во время выполнения?

Ответы [ 2 ]

6 голосов
/ 19 марта 2011

Это зависит от того, какой язык вы используете, и как вы его используете.

Например, в Java разрешение перегрузки всегда выполняетсяво время компиляции разрешение переопределения выполняется во время выполнения.

В C # это все еще обычно true - но если вы используете динамическую типизацию C # 4, разрешение перегрузки выполняется вВремя выполнения тоже:

static void Foo(int y) {}
static void Foo(string y) {}

...
dynamic x = 10;
Foo(x); // Calls Foo(int)
x = "hello";
Foo(x); // Calls Foo(string)

Существует множество других языков, которые также ведут себя динамически.Поэтому вам действительно необходимо изучить поведение языка, который вы используете в данный момент.

2 голосов
/ 19 марта 2011

перегрузка -> время компиляции Переопределить -> Время выполнения

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...