Différence entre la liaison statique et dynamique
![Différence entre la liaison statique et dynamique - La Technologie Différence entre la liaison statique et dynamique - La Technologie](https://a.fondoperlaterra.org/technology-differences/difference-between-static-and-dynamic-binding.jpg)
Contenu
- Tableau de comparaison:
- Définitions de la liaison statique
- Implémentation de la liaison statique en C ++ avec un exemple de surcharge
- Conclusion:
L'association d'une association d'une ‘définition de fonction’ à un ‘appel de fonction’ ou d’une association d’une ‘valeur’ à une ‘variable’ est appelée ‘liaison’. Lors de la compilation, chaque «définition de fonction» se voit attribuer une adresse mémoire; dès que l’appel de fonction est terminé, le contrôle de l’exécution du programme passe à cette adresse mémoire et le code de fonction stocké à cet emplacement est exécuté, il s’agit de lier ‘appel de fonction’ à ‘définition de fonction’. La liaison peut être classée en «liaison statique» et en «liaison dynamique».
S'il est déjà connu avant l'exécution, quelle fonction sera appelée ou quelle valeur est attribuée à une variable, il s'agit alors d'une ‘liaison statique’. s’il s’agit de le savoir au moment de l’exécution, on l’appellera «liaison dynamique».
- Tableau de comparaison
- Définition
- Différences Clés
- Conclusion
Tableau de comparaison:
Base de comparaison | Liaison statique | Reliure dynamique |
---|---|---|
Occurrence d'événement | Les événements qui se produisent lors de la compilation sont "Static Binding". | Les événements qui se produisent au moment de l’exécution sont "Liaison dynamique". |
Information | Toutes les informations nécessaires pour appeler une fonction sont connues au moment de la compilation. | Toutes les informations doivent appeler une fonction à connaître au moment de l'exécution. |
Avantage | Efficacité. | Souplesse. |
Temps | Exécution rapide. | Exécution lente. |
Nom alternatif | Reliure précoce. | Reliure tardive. |
Exemple | Appel de fonction surchargé, opérateurs surchargés. | Fonction virtuelle en C ++, méthodes écrasées en java. |
Définitions de la liaison statique
Lorsque le compilateur reconnaît toutes les informations requises pour appeler une fonction ou toutes les valeurs des variables pendant la compilation, cela s'appelle “reliure statique“. Comme toutes les informations requises sont connues avant l'exécution, cela augmente l'efficacité du programme, ainsi que la rapidité d'exécution du programme.
Static Binding rend un programme très efficace, mais diminue la flexibilité du programme, car les "valeurs de la variable" et "l'appel de fonction" sont prédéfinis dans le programme. La liaison statique est implémentée dans un programme au moment du codage.
La surcharge d'une fonction ou d'un opérateur est l'exemple du polymorphisme au moment de la compilation, c'est-à-dire la liaison statique.
Implémentation de la liaison statique en C ++ avec un exemple de surcharge
#comprendre Ici, la valeur du pointeur change lorsque le programme est en cours d’exécution et que la valeur du pointeur détermine la fonction de la classe à invoquer. Donc ici, les informations sont fournies au moment de l’exécution, il faut du temps pour lier les données, ce qui ralentit l’exécution. Cependant, nous concluons que lorsque nous avons une connaissance préalable des valeurs des appels de variables et de fonctions, nous appliquons la liaison statique. Inversement, dans Binding dynamique, nous fournissons toutes les informations au moment de l’exécution.
Conclusion: