Diferença Entre Vinculação Inicial E Tardia

Índice:

Diferença Entre Vinculação Inicial E Tardia
Diferença Entre Vinculação Inicial E Tardia

Vídeo: Diferença Entre Vinculação Inicial E Tardia

Vídeo: Diferença Entre Vinculação Inicial E Tardia
Vídeo: TV 3D Ativa ou Passiva, Qual o melhor 3D? 2024, Novembro
Anonim

Diferença principal - vinculação antecipada versus tardia

Early Binding e Late Binding são dois conceitos relacionados ao polimorfismo. O Early Binding ocorre em tempo de compilação enquanto o Late Binding ocorre em tempo de execução. A principal diferença entre Early Binding e Late Binding é que Early Binding usa as informações de classe para resolver a chamada de método, enquanto a Late Binding usa o objeto para resolver a chamada de método.

Linguagens de programação como Java suportam Programação Orientada a Objetos (OOP). É um paradigma que permite construir o programa ou o software a partir de objetos. Existem vários objetos no software. Esses objetos são conectados entre si e passam mensagens usando métodos. Cada objeto possui características e comportamentos. As características são descritas pelas propriedades ou atributos. Os comportamentos são descritos por meio de métodos. O objeto Aluno pode ter características como nome, idade e são representados por propriedades. O objeto Aluno pode ter comportamentos como estudar e ler, e eles são representados por métodos. Um dos principais pilares da OOP é o polimorfismo. Ele permite que um objeto se comporte de várias maneiras. Early Binding e Late Binding são dois conceitos no polimorfismo. Os métodos de sobrecarga são ligados usando ligação inicial. Os métodos substituídos são vinculados por meio de vinculação tardia.

CONTEÚDO

1. Visão geral e diferença principal

2. O que é vinculação inicial

3. O que é vinculação tardia

4. Semelhanças entre vinculação inicial e tardia

5. Comparação lado a lado - Vinculação inicial versus tardia na forma tabular

6. Resumo

O que é vinculação antecipada?

Em Early Binding, as informações de classe são usadas para resolver a chamada de método. A vinculação antecipada ocorre em tempo de compilação. Também é conhecido como vinculação estática. Nesse processo, a vinculação ocorre antes de o programa realmente ser executado. Métodos de sobrecarga são ligados usando ligação inicial. Consulte o programa abaixo.

Diferença entre vinculação inicial e tardia
Diferença entre vinculação inicial e tardia

Figura 01: Classe de Cálculo

Diferença entre vinculação inicial e tardia Figura 02
Diferença entre vinculação inicial e tardia Figura 02

Figura 02: Programa principal para vinculação antecipada

De acordo com o programa acima, a classe Calculation contém um método add que aceita dois valores inteiros e outro método add que aceita dois valores duplos. No programa principal, é criado um objeto do tipo Cálculo. Ao passar dois inteiros para o método add, ele invocará o método add que aceita dois inteiros. Ao passar dois valores duplos para o método add, ele invocará o método correspondente a dois valores duplos. Esse processo de vinculação ocorre em tempo de compilação. Todas as informações necessárias são conhecidas antes do tempo de execução, portanto, aumenta a eficiência do programa e a velocidade de execução.

O que é Late Binding?

Em Late Binding, o objeto é usado para resolver a chamada de método. A vinculação tardia ocorre no tempo de execução. Também é conhecido como vinculação dinâmica. Nesse processo, a vinculação ocorre na execução do programa. Os métodos substituídos são vinculados por meio de vinculação tardia. Consulte o programa abaixo.

Diferença entre vinculação inicial e tardia Figura 03
Diferença entre vinculação inicial e tardia Figura 03

Figura 03: Classe de forma

Diferença entre vinculação inicial e tardia Figura 04
Diferença entre vinculação inicial e tardia Figura 04

Figura 04: Classe de Círculo

Diferença entre vinculação inicial e tardia Figura 05
Diferença entre vinculação inicial e tardia Figura 05

Figura 05: Classe Triângulo

Diferença fundamental entre vinculação inicial e tardia
Diferença fundamental entre vinculação inicial e tardia

Figura 06: Programa principal para Late Binding

De acordo com o programa acima, a classe Shape possui um método de desenho. A classe Circle e a classe Triangle estendem a classe Shape. Portanto, essas duas classes podem herdar os atributos e métodos da classe Shape. A classe de forma é a classe base. As classes Circle e Triangle são classes derivadas. A classe Circle e a classe Triangle também possuem o método draw com suas próprias implementações. Portanto, o método draw na classe Shape é substituído pelos métodos draw das classes derivadas.

No programa principal, uma variável de referência s do tipo Forma é criada. Em tempo de compilação, o compilador apenas fará referência ao método de desenho da classe base. Em tempo de execução, diferentes métodos de desenho serão executados. Primeiro, s apontará para o objeto do tipo Forma. Portanto, o método draw da classe Shape é invocado. Em seguida, o s irá apontar para o objeto do tipo Circle e invocará o método draw da classe Circle. Por fim, s apontará para o objeto do tipo Triangle e chamará o método draw na classe Triangle. Os métodos são chamados dependendo dos objetos. Portanto, o objeto é usado para resolver a chamada de método em Late Binding. As informações necessárias para vinculação são fornecidas em tempo de execução, portanto, a velocidade de execução é mais lenta em comparação com a vinculação inicial.

Qual é a semelhança entre a vinculação inicial e a vinculação tardia?

Tanto a Early Binding quanto a Late Binding estão relacionadas ao polimorfismo, que é um pilar da OOP

Qual é a diferença entre vinculação antecipada e vinculação tardia?

Artigo Diff meio antes da tabela

Vinculação Antecipada vs. Vinculação Tardia

O processo de usar as informações de classe para resolver a chamada de método que ocorre em tempo de compilação é chamado de Early Binding. O processo de usar o objeto para resolver a chamada de método que ocorre em tempo de execução é chamado de Late Binding.
Tempo de ligação
A vinculação antecipada ocorre em tempo de compilação. A vinculação tardia ocorre em tempo de execução.
Funcionalidade
Early Binding usa as informações de classe para resolver a chamada de método. Late Binding usa o objeto para resolver a chamada de método.
Sinônimos
A vinculação antecipada também é conhecida como vinculação estática. A vinculação tardia também é conhecida como vinculação dinâmica.
Ocorrência
Os métodos de sobrecarga são ligados usando ligação inicial. Os métodos substituídos são vinculados por meio de vinculação tardia.
Velocidade de Execução
A velocidade de execução é mais rápida na vinculação inicial. A velocidade de execução é menor na vinculação tardia.

Resumo - Vinculação Antecipada vs. Final

OOP é comumente usado para desenvolvimento de software. Um dos principais pilares da OOP é o polimorfismo. Early Binding e Late Binding estão relacionados a isso. Early Binding ocorre em tempo de compilação enquanto Late Binding ocorre em tempo de execução. Na sobrecarga do método, a ligação acontece usando a ligação inicial. Na substituição de método, a ligação acontece usando a ligação tardia. A diferença entre Early Binding e Late Binding é que Early Binding usa as informações de classe para resolver a chamada de método, enquanto Late Binding usa o objeto para resolver a chamada de método.

Recomendado: