Différence entre la liaison précoce et tardive

Différence clé - précoce vs liaison tardive
 

La liaison précoce et la liaison tardive sont deux concepts liés au polymorphisme. La liaison précoce se produit au moment de la compilation, tandis que la liaison tardive se produit au moment de l'exécution. le différence clé entre la liaison précoce et tardive est que Early Binding utilise les informations de classe pour résoudre l'appel de méthode, alors que Late Binding utilise l'objet pour résoudre l'appel de méthode..

Les langages de programmation tels que Java prennent en charge la programmation orientée objet (OOP). C'est un paradigme qui permet de construire le programme ou le logiciel en utilisant des objets. Il y a plusieurs objets dans le logiciel. Ces objets sont connectés les uns aux autres et transmettent des messages à l'aide de méthodes. Chaque objet a des caractéristiques et des comportements. Les caractéristiques sont décrites par les propriétés ou les attributs. Les comportements sont décrits à l'aide de méthodes. L'objet Étudiant peut avoir des caractéristiques telles que le nom, l'âge et elles sont représentées par des propriétés. L'objet Student peut avoir des comportements tels qu'étudier et lire, et ils sont représentés par des méthodes. Le polymorphisme est l’un des principaux piliers de la POO. Cela permet à un objet de se comporter de plusieurs manières. La liaison précoce et la liaison tardive sont deux concepts du polymorphisme. Les méthodes de surcharge sont liées en utilisant une liaison précoce. Les méthodes écrasées sont liées à l'aide d'une liaison tardive.

CONTENU

1. Vue d'ensemble et différence clé
2. Quelle est la liaison précoce
3. Quelle est la liaison tardive
4. Similitudes entre les liaisons précoces et tardives
5. Comparaison côte à côte - Reliure précoce ou tardive sous forme de tableau
6. Résumé

Quelle est la liaison précoce?

Dans Early Binding, les informations de classe sont utilisées pour résoudre l'appel de méthode. La liaison précoce a lieu au moment de la compilation. Il est également appelé liaison statique. Dans ce processus, la liaison est effectuée avant que le programme ne soit réellement exécuté. Les méthodes de surcharge sont liées en utilisant une liaison précoce. Voir le programme ci-dessous.

Figure 01: Classe de calcul

Figure 02: Programme principal de reliure précoce

Selon le programme ci-dessus, la classe Calculation contient une méthode add qui accepte deux valeurs entières et une autre méthode add qui accepte deux valeurs doubles. Dans le programme principal, un objet de type Calcul est créé. Lorsqu'il passe deux entiers à la méthode add, il invoquera la méthode add qui accepte deux entiers. Lorsque vous passez deux valeurs doubles à la méthode add, la méthode correspondant à deux valeurs doubles sera invoquée. Ce processus de liaison a lieu au moment de la compilation. Toutes les informations requises sont connues avant l'exécution, ce qui augmente l'efficacité et la vitesse d'exécution du programme..

Quelle est la liaison tardive?

Dans la liaison tardive, l'objet est utilisé pour résoudre l'appel de méthode. La liaison tardive a lieu au moment de l'exécution. Il est également connu comme reliure dynamique. Dans ce processus, la liaison a lieu à l'exécution du programme. Les méthodes écrasées sont liées à l'aide d'une liaison tardive. Voir le programme ci-dessous.

Figure 03: Classe de forme

Figure 04: Classe de cercle

Figure 05: Classe de triangle

Figure 06: Programme principal pour la liaison tardive

Selon le programme ci-dessus, la classe Shape a une méthode draw. Classe Circle et class Triangle étend la classe Shape. Par conséquent, ces deux classes peuvent hériter des attributs et des méthodes de la classe Shape. La classe de forme est la classe de base. Les classes Circle et Triangle sont des classes dérivées. La classe Circle et la classe Triangle ont également la méthode draw avec leurs propres implémentations. Ainsi, la méthode draw de la classe Shape est remplacée par les méthodes draw des classes dérivées.

Dans le programme principal, une variable de référence s de type Shape est créée. Au moment de la compilation, le compilateur fera uniquement référence à la méthode draw de la classe de base. Au moment de l'exécution, différentes méthodes de dessin seront exécutées. Premièrement, s pointera sur l'objet de type Shape. Ainsi, la méthode draw de la classe Shape est appelée. Ensuite, le s pointera sur l'objet de type Circle et invoquera la méthode draw de la classe Circle. Enfin, s pointera sur l'objet de type Triangle et invoquera la méthode draw dans la classe Triangle. Les méthodes sont appelées en fonction des objets. Par conséquent, l'objet est utilisé pour résoudre l'appel de méthode dans une liaison tardive. Les informations requises pour la liaison étant fournies au moment de l'exécution, la vitesse d'exécution est plus lente que celle d'une liaison anticipée..

Quelle est la similitude entre la liaison précoce et la liaison tardive?

  • La liaison précoce et la liaison tardive sont toutes deux liées au polymorphisme qui est un pilier de la POO.

Quelle est la différence entre une liaison précoce et une liaison tardive?

Reliure précoce vs liaison tardive

Le processus d'utilisation des informations de classe pour résoudre l'appel de méthode qui se produit au moment de la compilation est appelé Early Binding.. Le processus d'utilisation de l'objet pour résoudre l'appel de méthode qui se produit au moment de l'exécution est appelé la liaison tardive..
 Temps de reliure
La liaison précoce a lieu au moment de la compilation. La liaison tardive se produit au moment de l'exécution.
La fonctionnalité
Early Binding utilise les informations de classe pour résoudre l'appel de méthode. La liaison tardive utilise l'objet pour résoudre l'appel de méthode.
 Synonymes
Early Binding est également appelé liaison statique… La liaison tardive est également appelée liaison dynamique.
Occurrence
Les méthodes de surcharge sont liées en utilisant une liaison précoce. Les méthodes écrasées sont liées à l'aide d'une liaison tardive.
Vitesse d'exécution
La vitesse d'exécution est plus rapide en liaison anticipée. La vitesse d'exécution est inférieure en liaison tardive.

Résumé - Early vs liaison tardive

La POO est couramment utilisée pour le développement de logiciels. Le polymorphisme est l'un des principaux piliers de la POO. La liaison précoce et la liaison tardive sont liées à cela. La liaison précoce a lieu au moment de la compilation, tandis que la liaison tardive a lieu au moment de l'exécution. En surcharge de méthode, la liaison se produit en utilisant la liaison précoce. Dans la méthode prioritaire, la liaison se produit à l'aide de la liaison tardive. La différence entre Early Binding et Late Binding réside dans le fait que Early Binding utilise les informations de classe pour résoudre l'appel de méthode, alors que Late Binding utilise l'objet pour résoudre l'appel de méthode..

Référence:

1.Interview Java 04 - Liaison statique vs liaison dynamique, Tutoriels Mahika, 27 décembre 2017. Disponible ici
2.Dispatch de méthode dynamique en Java | Tutoriel Java de base | Studytonight. Disponible ici