Qual é a diferença entre vinculação dinâmica e passagem de mensagens

Índice:

Anonim

o principal diferença entre a vinculação dinâmica e a passagem de mensagens é que o a vinculação dinâmica é um método de vincular uma chamada de procedimento ao código relevante no tempo de execução, enquanto a passagem de mensagem é um método de troca de mensagens entre objetos.

A Programação Orientada a Objetos (OOP) é ​​o principal paradigma de programação que permite modelar os cenários do mundo real na computação. Além disso, isso torna os programas reutilizáveis ​​e gerenciáveis. Em OOP, um objeto possui atributos e métodos. Um atributo define as propriedades enquanto os métodos definem os comportamentos. A maioria das linguagens de programação de alto nível oferece suporte a recursos OOP; a vinculação dinâmica e a passagem de mensagens são dois desses recursos.

Vinculação dinâmica, vinculação tardia, passagem de mensagem, OOP

O que é Dynamic Binding

A vinculação dinâmica é o método de vincular a chamada de procedimento com seu código no momento da execução do código. Em outras palavras, ocorre em tempo de execução. A vinculação dinâmica também é chamada ligação tardia. Um exemplo é o seguinte.

Figura 1: classe de forma

Figura 2: classe de círculo

Figura 3: classe Triângulo

Figura 4: Método principal

A classe Shape tem um método draw, enquanto as classes Circle e Triangle estendem a classe Shape. Portanto, a classe Shape é a classe pai, e as classes Circle e Triangle são classes filho. Essas classes também têm um método de ‘desenho’ com suas próprias implementações.

No método principal, s é uma variável de referência do tipo Forma. Primeiro, s aponta para o objeto do tipo Forma. Portanto, ele invoca o método draw da classe Shape. Então, s aponta para o objeto do tipo Círculo. Portanto, ele invoca o método draw da classe Circle. Finalmente, s aponta para o objeto Triangle e invocará o método draw da classe Triangle. Diferentes métodos de desenho são executados no tempo de execução. Mesmo que a variável de referência seja do tipo Forma, a associação ocorre de acordo no tempo de execução. Portanto, isso é chamado de vinculação dinâmica.

O que é passagem de mensagem

A passagem de mensagens é o método de troca de mensagens entre objetos. Os objetos podem enviar e receber mensagens entre si, semelhantes aos humanos. Na programação, funções ou métodos ajudam a passar mensagens. Além de OOP, a passagem de mensagens ocorre entre processos e outros recursos na comunicação entre processos e computação paralela.

A passagem de mensagens pode ser síncrona ou assíncrona. Na passagem síncrona de mensagens, o remetente e o destinatário precisam esperar um pelo outro ao trocar mensagens. Na comunicação assíncrona, não é necessário esperar que o outro passe a mensagem. Eles podem realizar seus próprios cálculos durante a transferência de mensagens.

Diferença entre vinculação dinâmica e passagem de mensagens

Definição

A vinculação dinâmica é o método de vincular uma chamada de procedimento ao código relevante que será executado apenas em tempo de execução, enquanto a passagem de mensagens é o método de troca de mensagens entre objetos na Programação Orientada a Objetos. Portanto, essa é a principal diferença entre a vinculação dinâmica e a passagem de mensagens.

Uso

Outra diferença entre a vinculação dinâmica e a passagem de mensagem é que a vinculação dinâmica permite a execução de códigos diferentes usando o mesmo objeto em tempo de execução, enquanto a passagem de mensagem permite o desenvolvimento de comunicação entre objetos.

Conclusão

A principal diferença entre a ligação dinâmica e a passagem de mensagem é que a ligação dinâmica é o método de vincular chamadas de procedimento ao código relevante no tempo de execução, enquanto a passagem de mensagem é um método de troca de mensagens entre objetos.

Referência:

1. Lutadores, tecnologia. Concepts of Object-Oriented Programming - Dynamic Binding, Technology Fighters, 9 de novembro de 2017, disponível aqui.2. “Definição e informação de passagem de mensagem.” Definições de TI, 26 de dezembro de 2014, disponível aqui.

Qual é a diferença entre vinculação dinâmica e passagem de mensagens