185 похожих чатов

А еще вопрос, начала изучать диспетчеризацию, окей, я поняла что

есть там статическая/динамическая/сообщений, динамическая еще на 2 делится, эти типы различаются скоростью/поддерживают ли наследование/полиморфизм, но в чем вообще смысл?)

ну т.е методы вызываются под копотом и вызваются, зачем нам знать методы диспетчеризации?

7 ответов

13 просмотров

Динамическая на 2 делится?

Таня- Автор вопроса
Таня
на Virtual Table и Witness Table

Ну, я ее табличной называю

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

Таня- Автор вопроса
Vadim Shishkov
Чтобы вот в таких случаях, когда ты ожидаешь вызов...

т.е вот задачка все-таки и связана с диспетчеризацией?

Знать диспетчеризацию надо что бы понимать зачем тот же final у класса написан. Так же это в целом помогает тебе понять как ты можешь улучшить работу программы благодаря этим заниям. Программе потребуется меньше врмени что бы найти вызываемый метод если он статичный, программе не придется пробегаться по коду что бы удостоверится нет ли расширения которое реализует этот метод. Когда у тебя очень большие классы и много вызовов методов такие мелкие решения по оптимизаци помогают улучшить работу программы и ее отзывчивость. И предотвращает непонятных багов которые ты не ожидаешь, например если вызвался не тот метод который ты ожидала.

Похожие вопросы

Обсуждают сегодня

Anyone here suffers from unexplained aural migraines, who would be up for talking for a bit? Doesn't *have* to be aural, but I am not asking about headaches, I mean actual mi...
Martin Rys
55
Вопрос по WIN32: Насколько я понимаю то все функции win32 привязаны к объектам операционной системы. Например консоль, файл, кисть, окна итд. Следовательно функции win32 упра...
Tommy Vercetti
6
Hello, can I install macOS and run flutter on a virtual machine? Is it possible to print for iphone?
Mazones
11
кто-то пользуется компонентами rx ? как их лучше ставить, через OPM? (lazarus)
Iluha Companets
15
подскажите пожалуйста, как мне освободить результат записанный в переменную result? в чем проблема подскажите если МОЖЕТЕ?
Михаил Helper
28
Дороу! У кого-нибудь есть в загашнике проверенная функция экранирования, аналог re.escape в Python? Из доки: » Escape all the characters in pattern except ASCII letters and n...
Daniil Smolyakov
9
В смысле более затратная? Общая стоимость владения лошадью меньше, чем автомобиля. В среднем.
Sergej R
10
есть тут кто-то , кто только начал изучать си? если проходите курс на степике или как-то сами изучаете, пишите, может, скооперируемся?..
Eule
25
я не магистр хаскеля, но разве не может лейзи тип конвертнуться в не-лейзи запросив вычисление содержимого прям при инициализации?
deadgnom32 λ madao
100
Скажите, тут нет проблемы? IMyInterface1 = interface function GetInterface2: IInterface2; ... function TMyInterface.GetInterface2: IInterface2; begin Result := TI...
Ruslan aka DUDE
18
Карта сайта