Разница между ранним и поздним связыванием

Оглавление:

Разница между ранним и поздним связыванием
Разница между ранним и поздним связыванием

Видео: Разница между ранним и поздним связыванием

Видео: Разница между ранним и поздним связыванием
Видео: Раннее и Позднее Связывание 2024, Ноябрь
Anonim

Ключевое различие - раннее и позднее связывание

Раннее связывание и позднее связывание - это две концепции, связанные с полиморфизмом. Раннее связывание происходит во время компиляции, а позднее - во время выполнения. Ключевое различие между ранним и поздним связыванием заключается в том, что раннее связывание использует информацию о классе для разрешения вызова метода, а позднее связывание использует объект для разрешения вызова метода.

Такие языки программирования, как Java, поддерживают объектно-ориентированное программирование (ООП). Это парадигма, которая позволяет создавать программу или программное обеспечение с использованием объектов. В программе есть несколько объектов. Эти объекты связаны друг с другом и передают сообщения с помощью методов. У каждого объекта есть характеристики и поведение. Характеристики описываются свойствами или атрибутами. Поведение описывается с помощью методов. У объекта Student могут быть такие характеристики, как имя, возраст и они представлены свойствами. Объект Student может иметь такое поведение, как изучение и чтение, и они представлены методами. Одним из основных столпов ООП является полиморфизм. Это позволяет объекту вести себя по-разному. Раннее связывание и позднее связывание - это две концепции полиморфизма. Методы перегрузки связываются с использованием раннего связывания. Переопределенные методы связываются с использованием позднего связывания.

СОДЕРЖАНИЕ

1. Обзор и ключевые различия

2. Что такое раннее связывание

3. Что такое позднее связывание

4. Сходства между ранним и поздним связыванием

5. Параллельное сравнение - раннее и позднее связывание в табличной форме

6. Резюме

Что такое раннее связывание?

В раннем связывании информация о классе используется для разрешения вызова метода. Раннее связывание происходит во время компиляции. Это также известно как статическая привязка. В этом процессе привязка происходит до фактического запуска программы. Методы перегрузки связаны с использованием раннего связывания. Обратитесь к программе ниже.

Разница между ранним и поздним связыванием
Разница между ранним и поздним связыванием

Рисунок 01: Класс расчета

Разница между ранним и поздним связыванием Рисунок 02
Разница между ранним и поздним связыванием Рисунок 02

Рисунок 02: Основная программа для раннего связывания

Согласно приведенной выше программе, класс Calculation содержит метод добавления, который принимает два целочисленных значения, и другой метод добавления, который принимает два значения типа double. В основной программе создается объект типа Расчет. При передаче двух целых чисел методу добавления он вызывает метод добавления, который принимает два целых числа. При передаче двух двойных значений методу add он вызывает метод, соответствующий двум двойным значениям. Этот процесс привязки происходит во время компиляции. Вся необходимая информация известна перед запуском, поэтому это увеличивает эффективность программы и скорость выполнения.

Что такое позднее связывание?

В позднем связывании объект используется для разрешения вызова метода. Позднее связывание происходит во время выполнения. Это также известно как динамическое связывание. В этом процессе привязка происходит при выполнении программы. Переопределенные методы связываются с использованием позднего связывания. Обратитесь к программе ниже.

Разница между ранним и поздним связыванием Рисунок 03
Разница между ранним и поздним связыванием Рисунок 03

Рисунок 03: Класс формы

Разница между ранним и поздним связыванием Рисунок 04
Разница между ранним и поздним связыванием Рисунок 04

Рисунок 04: Класс Circle

Разница между ранним и поздним связыванием Рисунок 05
Разница между ранним и поздним связыванием Рисунок 05

Рисунок 05: Класс треугольника

Ключевое различие между ранним и поздним связыванием
Ключевое различие между ранним и поздним связыванием

Рисунок 06: Основная программа для позднего связывания

Согласно приведенной выше программе, класс Shape имеет метод рисования. Классы Circle и класс Triangle расширяют класс Shape. Следовательно, эти два класса могут наследовать атрибуты и методы класса Shape. Класс формы - это базовый класс. Классы Circle и Triangle являются производными классами. Класс Circle и класс Triangle также имеют метод рисования со своими собственными реализациями. Таким образом, метод рисования в классе Shape переопределяется методами рисования производных классов.

В основной программе создается ссылочная переменная s типа Shape. Во время компиляции компилятор будет ссылаться только на метод рисования базового класса. Во время выполнения будут выполняться разные методы рисования. Сначала s будет указывать на объект типа Shape. Итак, вызывается метод рисования класса Shape. Затем s будет указывать на объект типа Circle, и он вызовет метод рисования класса Circle. Наконец, s укажет на объект типа Triangle и вызовет метод рисования в классе Triangle. Методы вызываются в зависимости от объектов. Следовательно, объект используется для разрешения вызова метода в позднем связывании. Информация, необходимая для привязки, предоставляется во время выполнения, поэтому скорость выполнения ниже по сравнению с ранним связыванием.

В чем сходство между ранним и поздним связыванием?

И раннее связывание, и позднее связывание связаны с полиморфизмом, который является столпом ООП

В чем разница между ранним и поздним связыванием?

Различать статью в середине перед таблицей

Раннее связывание против позднего связывания

Процесс использования информации о классе для разрешения вызова метода, происходящего во время компиляции, называется ранним связыванием. Процесс использования объекта для разрешения вызова метода, происходящего во время выполнения, называется поздним связыванием.
Время привязки
Раннее связывание происходит во время компиляции. Позднее связывание происходит во время выполнения.
Функциональность
Раннее связывание использует информацию о классе для разрешения вызова метода. Позднее связывание использует объект для разрешения вызова метода.
Синонимы
Раннее связывание также известно как статическое связывание. Позднее связывание также известно как динамическое связывание.
Вхождение
Методы перегрузки связываются с использованием раннего связывания. Переопределенные методы связываются с использованием позднего связывания.
Скорость исполнения
Скорость выполнения выше при раннем связывании. При позднем переплете скорость выполнения ниже.

Резюме - раннее и позднее связывание

ООП обычно используется для разработки программного обеспечения. Один из основных столпов ООП - полиморфизм. С этим связаны раннее и позднее связывание. Раннее связывание происходит во время компиляции, а позднее - во время выполнения. При перегрузке метода связывание происходит с использованием раннего связывания. При переопределении метода связывание происходит с использованием позднего связывания. Разница между ранним и поздним связыванием заключается в том, что раннее связывание использует информацию о классе для разрешения вызова метода, а позднее связывание использует объект для разрешения вызова метода.

Рекомендуем: