Différence clé - Liaison précoce ou tardive
Early Binding et Late Binding 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 Early et Late Binding est que Early Binding utilise les informations de classe pour résoudre l'appel de méthode tandis 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 (POO). C'est un paradigme qui permet de construire le programme ou le logiciel à l'aide d'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 attributs. Les comportements sont décrits à l'aide de méthodes. L'objet Student 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 que l'étude et la lecture, et ils sont représentés par des méthodes. L'un des principaux piliers de la POO est le polymorphisme. Il permet à un objet de se comporter de plusieurs manières. Early Binding et Late Binding sont deux concepts du polymorphisme. Les méthodes de surcharge sont liées à l'aide d'une liaison précoce. Les méthodes remplacées sont liées à l'aide d'une liaison tardive.
Qu'est-ce que la liaison anticipée ?
Dans Early Binding, les informations de classe sont utilisées pour résoudre l'appel de méthode. La liaison anticipée se produit au moment de la compilation. Il est également connu sous le nom de liaison statique. Dans ce processus, la liaison se produit avant que le programme ne s'exécute réellement. Les méthodes de surcharge sont liées à l'aide d'une liaison précoce. Reportez-vous au 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 d'addition qui accepte deux valeurs entières et une autre méthode d'addition qui accepte deux valeurs doubles. Dans le programme principal, un objet de type Calcul est créé. Lors du passage de deux entiers à la méthode add, il invoquera la méthode add qui accepte deux entiers. Lors du passage de deux valeurs doubles à la méthode add, il invoquera la méthode correspondant à deux valeurs doubles. Ce processus de liaison se produit au moment de la compilation. Toutes les informations requises sont connues avant l'exécution, ce qui augmente l'efficacité du programme et la vitesse d'exécution.
Qu'est-ce que la liaison tardive ?
Dans Late Binding, l'objet est utilisé pour résoudre l'appel de méthode. La liaison tardive se produit au moment de l'exécution. Il est également connu sous le nom de liaison dynamique. Dans ce processus, la liaison se produit lors de l'exécution du programme. Les méthodes remplacées sont liées à l'aide d'une liaison tardive. Reportez-vous au programme ci-dessous.
Figure 03: Classe de forme
Figure 04: classe de cercle
Figure 05: Classe Triangle
Figure 06: Programme principal pour la liaison tardive
Selon le programme ci-dessus, la classe Shape a une méthode draw. La classe Circle et la classe Triangle étendent la classe Shape. Par conséquent, ces deux classes peuvent hériter des attributs et des méthodes de la classe Shape. La classe Shape 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 ne fera référence qu'à 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. Tout d'abord, s pointera vers l'objet de type Shape. Ainsi, la méthode draw de la classe Shape est invoquée. Ensuite, le s pointera vers l'objet de type Circle et invoquera la méthode draw de la classe Circle. Enfin, s pointera vers 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 la liaison tardive. Les informations requises pour la liaison sont fournies au moment de l'exécution, de sorte que la vitesse d'exécution est plus lente par rapport à la liaison précoce.
Quelle est la similitude entre la liaison précoce et la liaison tardive ?
La liaison précoce et la liaison tardive sont liées au polymorphisme qui est un pilier de la POO
Quelle est la différence entre la liaison précoce et la liaison tardive ?
Liaison 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é le Late Binding. |
Heure de la liaison | |
La liaison anticipée se produit au moment de la compilation. | La liaison tardive se produit au moment de l'exécution. |
Fonctionnalité | |
Early Binding utilise les informations de classe pour résoudre l'appel de méthode. | Late Binding utilise l'objet pour résoudre l'appel de méthode. |
Synonymes | |
La liaison anticipée est également connue sous le nom de liaison statique.. | La liaison tardive est également connue sous le nom de liaison dynamique. |
Occurrence | |
Les méthodes de surcharge sont liées à l'aide d'une liaison anticipée. | Les méthodes remplacées sont liées à l'aide d'une liaison tardive. |
Vitesse d'exécution | |
La vitesse d'exécution est plus rapide en début de liaison. | La vitesse d'exécution est plus faible en liaison tardive. |
Résumé – Liaison précoce ou tardive
OOP est couramment utilisé pour le développement de logiciels. Un pilier majeur de la POO est le polymorphisme. La liaison précoce et la liaison tardive sont liées à cela. La liaison précoce se produit au moment de la compilation tandis que la liaison tardive se produit au moment de l'exécution. Dans la surcharge de méthode, la liaison se produit en utilisant la liaison précoce. Dans le remplacement de méthode, la liaison se produit à l'aide de la liaison tardive. La différence entre Early et Late Binding est que Early Binding utilise les informations de classe pour résoudre l'appel de méthode tandis que Late Binding utilise l'objet pour résoudre l'appel de méthode.