Que sont les objets en informatique ?


Les objets sont des concepts abstraits qui rendent la programmation beaucoup plus simple.
Ils représentent toujours une "chose" : une voiture, une personne, une structure de données, etc. Chaque "chose" a ses propriétés et ses actions. Si nous prenons une voiture comme exemple, alors ses propriétés pourraient être sa couleur, son modèle, sa taille et sa vitesse. Ses actions peuvent être conduire, tourner et écouter la radio. En informatique, les propriétés sont appelées les "attributs" d'un objet, et ses actions sont appelées ses "méthodes".
Si vous avez une certaine expérience de la programmation, vous pouvez être confus sur la raison pour laquelle nous avons besoin d'objets. Après tout, les exercices de programmation que vous'avez faits n'utilisent pas d'objets, et vous'êtes capable d'écrire de superbes programmes de toute façon.
Normalement, nous pensons à un programme comme l'ordinateur qui exécute une séquence de commandes, manipulant des variables jusqu'à ce que nous obtenions nos valeurs et sorties désirées. Cependant, il s'avère que lorsque nous écrivons des programmes qui tentent de résoudre des problèmes du monde réel, il peut être beaucoup plus facile de penser à un problème de programmation en termes de "choses" interagissant les unes avec les autres -- après tout, c'est ce qui se passe dans le monde réel.


Par exemple, disons'que quelqu'un vous demande d'écrire un programme pour un robot caissier. Ce robot fait deux choses : il scanne les articles, et prend l'argent. Similarly, the customer does two things: places items on the counter, and gives money.
I don't know what objects are, so I write a program that looks something like this:

  1. int total = 0; 
  2. for (i = 0; i< items.length; i++) { 
  3. total += items[i].price; 
  4. int customerMoney = 100; 
  5. int cashierMoney = 0; 
  6. customerMoney -= total; 
  7. cashierMoney += total; 

Good, but what if we created a variable that represents the cashier, and a variable that represents the customer?

  1. Customer john = new Customer(); 
  2. Cashier robo = new Cashier(); 
  3. robo.scanItems(); 
  4. john.giveMoney(); 
  5. robo.takeMoney(); 

Objects allow our code to be focused on things, rather than operations! We're still performing the same operations, but object-oriented programming makes code easier to write, read and understand.