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

Оглавление:

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

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

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

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

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

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

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

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

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

Рисунок 01: Расчетный класс

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

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

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

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

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

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

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

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

Рисунок 04: Круговой класс

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

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

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

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

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

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

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

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

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

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

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

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

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

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