Loin d'être stupide, j'ai mis du temps à comprendre l'intérêt de l'orienté objet.
Ce qui m'a aidé, c'est quand j'ai programmé sur arduino. Car sur arduino l'objet que tu utilises peut être un objet réel (physiquement parlant) : un capteur, un moteur une led.
L'objet a des caractéristiques (attributs par exemple la couleur de la led, sur quelle broche elle est branché) et des actions (méthodes : allumer la led, l'éteindre par exemple).
Ainsi en programmation non objet on dirait :
Mettre à haut la pin X pour l'allumer
Mettre à bas la pin X pour l'éteindre
En objet on créerait une classe led avec des caractéristiques :
broche à utiliser
couleur
Des actions:
allumerLed
eteindreLed
clignoterLed
On instancie (déclare) notre objet (en l'occurence notre led)
Et lorsque qu'on a besoin d'allumer la led, on appelle la méthode allumeLed() qui se sert des attributs de notre led (en l'occurence de la broche sur laquelle on l'a branché)
Evidemment dans l'exemple que je donne, le code semble plus complexe mais :
Il est plus modulable (tu peux te servir de ta classe dans un autre projet)
C'est plus clair (un allumeLed est plus simple à comprendre qu'un met cette broche à l'état haut)
[^] # Re: L'orienté objet c'est surfait
Posté par Marco . En réponse au lien eC : un C orienté objet. Évalué à 2.
Loin d'être stupide, j'ai mis du temps à comprendre l'intérêt de l'orienté objet.
Ce qui m'a aidé, c'est quand j'ai programmé sur arduino. Car sur arduino l'objet que tu utilises peut être un objet réel (physiquement parlant) : un capteur, un moteur une led.
L'objet a des caractéristiques (attributs par exemple la couleur de la led, sur quelle broche elle est branché) et des actions (méthodes : allumer la led, l'éteindre par exemple).
Ainsi en programmation non objet on dirait :
En objet on créerait une classe led avec des caractéristiques :
Des actions:
On instancie (déclare) notre objet (en l'occurence notre led)
Et lorsque qu'on a besoin d'allumer la led, on appelle la méthode allumeLed() qui se sert des attributs de notre led (en l'occurence de la broche sur laquelle on l'a branché)
Evidemment dans l'exemple que je donne, le code semble plus complexe mais :