есть там статическая/динамическая/сообщений, динамическая еще на 2 делится, эти типы различаются скоростью/поддерживают ли наследование/полиморфизм, но в чем вообще смысл?)
ну т.е методы вызываются под копотом и вызваются, зачем нам знать методы диспетчеризации?
Динамическая на 2 делится?
на Virtual Table и Witness Table
Ну, я ее табличной называю
Чтобы вот в таких случаях, когда ты ожидаешь вызов метода класса, а вызывается другой, не было потеряно большое количество времени на поиск ошибок.
т.е вот задачка все-таки и связана с диспетчеризацией?
Она и есть на нее
Знать диспетчеризацию надо что бы понимать зачем тот же final у класса написан. Так же это в целом помогает тебе понять как ты можешь улучшить работу программы благодаря этим заниям. Программе потребуется меньше врмени что бы найти вызываемый метод если он статичный, программе не придется пробегаться по коду что бы удостоверится нет ли расширения которое реализует этот метод. Когда у тебя очень большие классы и много вызовов методов такие мелкие решения по оптимизаци помогают улучшить работу программы и ее отзывчивость. И предотвращает непонятных багов которые ты не ожидаешь, например если вызвался не тот метод который ты ожидала.
Обсуждают сегодня