Різниця між ранньою та пізньою зв’язками

Ключова різниця - рано проти пізнього зв’язування
 

Раннє зв’язування та пізнє зв’язування - це два поняття, пов'язані з поліморфізмом. Раннє зв’язування відбувається під час компіляції, тоді як пізнє зв’язування відбувається під час виконання. The ключова різниця між ранньою та пізньою зв’язками це те Early Binding використовує інформацію про клас для вирішення виклику методу, тоді як Late Binding використовує об'єкт для вирішення виклику методу.

Мови програмування, такі як Java, підтримують об'єктно-орієнтоване програмування (OOP). Це парадигма, яка дозволяє конструювати програму або програмне забезпечення за допомогою об'єктів. У програмному забезпеченні є кілька об'єктів. Ці об'єкти з'єднані один з одним і передають повідомлення методами. Кожен об’єкт має характеристики та поведінку. Характеристики описуються властивостями або ознаками. Поведінки описані методами. Об'єкт Student може мати такі характеристики, як ім'я, вік і вони представлені властивостями. Об'єкт Учень може мати поведінку, таку як навчання та читання, і вони представлені методами. Одним із головних стовпів ООП є поліморфізм. Це дозволяє об’єкту поводитись у декілька способів. Раннє зв’язування та пізнє зв’язування - це два поняття в поліморфізмі. Способи перевантаження пов'язані з використанням раннього зв’язування. Переоцінені методи скріплюються за допомогою пізнього зв'язування.

ЗМІСТ

1. Огляд та ключові відмінності
2. Що таке раннє зв’язування
3. Що таке пізнє зв’язування
4. Подібність між ранньою та пізньою зв’язками
5. Порівняльне порівняння - раннє та пізнє зв’язування у табличній формі
6. Підсумок

Що таке раннє зв’язування?

У програмі Early Binding інформація про клас використовується для вирішення виклику методу. Рання зв'язування відбувається під час компіляції. Він також відомий як статичне зв'язування. У цьому процесі прив'язка відбувається до того, як програма фактично працює. Способи перевантаження пов'язані з використанням раннього зв’язування. Дивіться програму нижче.

Малюнок 01: Клас обчислення

Малюнок 02: Основна програма раннього зв’язування

Відповідно до вищевказаної програми, клас обчислення містить метод додавання, який приймає два цілих значення та інший метод додавання, який приймає два подвійних значення. У головній програмі створюється об’єкт типу Розрахунок. При передачі двох цілих чисел до методу add, він викликатиме метод add, який приймає два цілих числа. При передачі двох подвійних значень методу add він викликає метод, відповідний двом подвійним значенням. Цей процес зв'язування відбувається під час компіляції. Вся необхідна інформація відома перед виконанням, тому вона підвищує ефективність програми та швидкість виконання.

Що таке пізнє зв’язування?

У пізньому прив'язці об'єкт використовується для вирішення виклику методу. Пізнє зв’язування відбувається під час виконання. Він також відомий як динамічне зв'язування. У цьому процесі прив'язка відбувається при виконанні програми. Переоцінені методи скріплюються за допомогою пізнього зв'язування. Дивіться програму нижче.

Малюнок 03: Клас форми

Малюнок 04: Клас кола

Малюнок 05: Клас трикутника

Малюнок 06: Основна програма пізнього в'язки

Відповідно до програми, клас Shape має метод малювання. Класове коло та клас Трикутник розширює клас Форма. Тому ці два класи можуть успадковувати атрибути та методи класу Shape. Shape Class - базовий клас. Класи «Коло» та «Трикутник» - це похідні класи. Клас Circle та Class Triangle також мають метод малювання з власними реалізаціями. Отже, метод малювання в класі Shape переосмислюється методами малювання похідних класів.

У головній програмі створюється довідкова змінна s типу Shape. Під час компіляції компілятор посилається лише на метод малювання базового класу. Під час виконання будуть виконуватися різні методи малювання. По-перше, s вкаже на об’єкт типу Shape. Отже, використовується метод малювання класу Shape. Тоді s вкаже на об’єкт типу Circle, і він викличе метод малювання класу Circle. Нарешті, s вкаже на об’єкт типу Triangle, і він викличе метод малювання в класі Triangle. Методи називаються залежно від об'єктів. Тому об'єкт використовується для вирішення виклику методу у пізньому прив'язці. Інформація, необхідна для зв'язування, надається під час виконання, тому швидкість виконання є меншою порівняно з ранньою прив'язкою.

Яка схожість між ранньою і пізньою прив’язкою?

  • І ранній зв'язок, і пізнє зв’язування пов'язані з поліморфізмом, що є опорою ООП.

Яка різниця між ранньою і пізньою прив’язкою?

Раннє зв’язування проти пізнього зв’язування

Процес використання інформації про клас для вирішення виклику методу, який відбувається під час компіляції, називається Early Binding. Процес використання об'єкта для вирішення виклику методу, який відбувається під час виконання, називається пізнім прив'язкою.
 Час зв’язування
Рання прив'язка відбувається під час компіляції. Пізнє прив'язування відбувається під час виконання.
Функціональність
Early Binding використовує інформацію про клас для вирішення виклику методу. Пізнє прив'язка використовує об'єкт для вирішення виклику методу.
 Синоніми
Рання зв'язування також відома як статичне зв'язування ... Пізнє зв'язування також відоме як динамічне зв'язування.
Виникнення
Способи перевантаження пов'язані з використанням раннього зв’язування. Переоцінені методи скріплюються за допомогою пізнього зв'язування.
Швидкість виконання
Швидкість виконання швидша при ранньому зв’язуванні. Швидкість виконання нижче в кінці зв'язування.

Підсумок - на початку проти пізнього зв’язування

OOP зазвичай використовується для розробки програмного забезпечення. Одним із головних стовпів ООП є поліморфізм. Раннє зв’язування та пізнє зв’язування пов'язані з цим. Рання прив'язка відбувається під час компіляції, тоді як пізнє зв’язування відбувається під час виконання. У способі перевантаження, зв'язок відбувається за допомогою раннього зв'язування. У способі переосмислення зв'язок відбувається за допомогою пізнього зв'язування. Різниця між ранньою та пізньою прив'язкою полягає в тому, що Early Binding використовує інформацію про клас для вирішення виклику методу, тоді як Late Binding використовує об'єкт для вирішення виклику методу.

Довідка:

1.Інтерв'ю Java 04 - Статичне зв'язування Vs Динамічне прив'язування, Підручники з Mahika, 27 грудня 2017. Доступно тут
2.Динамічний метод відправки на Java | Основний Java-підручник | Навчальна ніч. Доступний тут