Защо динамичното свързване е важно при прилагането на полиморфизъм?
Защо динамичното свързване е важно при прилагането на полиморфизъм?

Видео: Защо динамичното свързване е важно при прилагането на полиморфизъм?

Видео: Защо динамичното свързване е важно при прилагането на полиморфизъм?
Видео: Защо е важна хигиената? 2024, Може
Anonim

Динамично обвързване позволява извикване на функция-член да бъде разрешено по време на изпълнение, според типа по време на изпълнение на препратка към обект. Това позволява на всеки дефиниран от потребителя клас в йерархията на наследяване да има различен изпълнение на определена функция.

Имайки това предвид, какво представлява полиморфизмът, който обяснява ролята на динамичното свързване при прилагането на полиморфизма?

Това е, което наричаме статично обвързване : на обвързване на имената се случват по време на компилиране (т.е. статични). Такъв механизъм се нарича динамично обвързване : на обвързване на имена към an изпълнение се случва по време на изпълнение (т.е. динамичен ). Динамично обвързване е необходимо за обектно-ориентирани езици за програмиране прилага полиморфизъм.

По същия начин, каква е ползата от динамичното свързване? Статично обвързване използва информация за Тип (клас в Java). обвързване докато динамично обвързване използва обект за разрешаване обвързване . Претоварените методи се свързват с помощта на статични обвързване докато отменените методи се свързват с помощта на динамично обвързване по време на изпълнение.

Впоследствие възниква въпросът дали динамичният свързващ полиморфизъм ли е?

Полиморфизъм в Java има два типа: време за компилиране полиморфизъм (статичен обвързване ) и време на изпълнение полиморфизъм ( динамично обвързване ). Важен пример за полиморфизъм е как родителският клас се отнася към обект на дъщерен клас. Всъщност всеки обект, който удовлетворява повече от една връзка IS-A, е такъв полиморфен в природата.

Как динамичното свързване е полезно в упс?

Динамично обвързване се постига с помощта на виртуални функции. Указателят на базовия клас сочи към обект на производен клас. И една функция се декларира за виртуална в базовия клас, след което съвпадащата функция се идентифицира по време на изпълнение с помощта на въвеждане на виртуална таблица. Как се предават елементи в an обектно-ориентирани програмен език ( ООП )?

Препоръчано: