human
Langages de programmation orientés objet POO VS procédurale et pourquoi tout le monde dit que c'est un concept si important à comprendre pour moi ; mais alors je ne peux pas donner une description claire de l'un ou de l'autre ou pourquoi ? Merci ! Explique comme si j'avais cinq ans.
gpt
Ce ne sont pas vraiment des choses différentes. Presque tous les langages sont procéduraux. Procédural fait référence aux procédures. Vous pouvez penser à votre code comme étant une procédure, avec peut-être des sous-procédures. Procédure étant un ensemble d'instructions que votre ordinateur suit. L'exemple typique est une recette, c'est une sorte de procédure. Votre CPU , à la base , fonctionne comme ça , donc la plupart des langages tirent leur nature procédurale du CPU . Cependant, une fois que vous commencez à construire ces procédures complexes (pensez à des recettes de 1 000 pages avec des références croisées), vous remarquerez qu'il est en fait très difficile de modifier en toute sécurité n'importe quelle section de la recette et d'avoir encore une sorte de prédiction sur ce que est gon na arriver ensuite. Si vous modifiez une sous-procédure (sous-recette qui peut ou non être référencée ailleurs), vous allez devoir parcourir les 1 000 pages avec soin pour vous assurer qu'aucune de ces pages ne cesse soudainement d'avoir un sens en tant que résultat de votre seul changement. OOP est une solution proposée à cela. Il emballe les sous-procédures avec les données qu'elles gèrent dans des objets. Cela signifie que lorsque vous apportez des modifications à une sous-procédure, vous n'avez qu'à consulter les pages traitant de cet objet. Vous pouvez, en programmant délibérément afin de vous abstenir de faire référence à des données en dehors des pages sélectionnées, faire de la programmation orientée objet même avec des langages de programmation purement procéduraux sans prise en charge de la programmation orientée objet. Les langages POO existent pour aider à programmer de cette façon, en regroupant les données et les procédures qui traitent ces données ensemble. Mais le point clé ici est que vous aurez un accès limité à toutes les données, qui sont gérées par des objets, de sorte que si les données sont corrompues, cela doit être dû au nombre limité de fonctions autorisées à gérer ces données.