Pourquoi programmer en objet ?

code compréhensible
chaque objet regroupe ses propriétés et ses méthodes. On comprend tout de suite à quoi s'applique une fonction et à quoi correspond une variable
code réutilisable
les types d'objets peuvent servir de bases pour d'autres types d'objets, en ne réimplémentant que ce qui change entre les deux.
code naturel
l'homme voit naturellement les choses sous forme d'objets avec des actions à y appliquer et des caractéristiques propres
code modulaire
chaque type contient son propre contexte et n'interfère avec les autres types que via des interfaces bien définies. Il est facile d'isoler un module ou de développer des modules séparément.

Qu'est-ce qu'un objet ?

Le concept d'objet est fait pour être naturel et ressembler à ce qu'on manipule dans la vie courante.
Exemples : voiture, compte en banque, ...

Attributs et méthodes

Chaque objet a des attributs qui lui sont propres. Un compte en banque a un attribut qui définit le numéro de compte, un autre définit le solde actuel, ... Les attributs peuvent être vus commes les caractéristiques propres de l'objet.

Les objets peuvent avoir des méthodes. Il s'agit d'actions qu'on peut appliquer à un objet. Pour un compte en banque, il existe une méthode pour le solder, une pour ajouter une écriture,...

Qu'est-ce qu'une classe ?

Une classe est un modèle de données. Tous les objets d'une même classe sont similaires. Ils partagent les mêmes attributs et méthodes.

Toutes les voitures ont des plaques d'immatriculation, un type de carburant, ... (ils ont des attributs communs)

Tous les objets de cette classe ont aussi des méthodes pour démarrer, freiner, accélérer, ...

Qu'est-ce qu'une instance ?

Une instance est une réprésentation particulière d'une classe

Votre véhicule personnel est une instance (représentation unique) de la classe voiture.

Il peut y avoir plusieurs instances ayant les mêmes propriétés sans qu'elles soient identiques.