Bonjour,
Excusez moi de poser une question aussi peu utile mais je débute vraiment en programmation et je voudrais savoir quel est le but d'une classe? Je sais à quoi ça ressemble, comment l'utiliser mais je ne comprends pas son but dans un programme sachant que c'est un élément essentiel. Quel est son utilité réellement?
Pourriez vous éclairer mes lumières?
Merci d'avance
En programmation orientée objet, une classe déclare des propriétés communes à un ensemble d'objets. La classe déclare des attributs représentant l'état des objets et des méthodes représentant leur comportement.
Une classe représente donc une catégorie d'objets. Il apparaît aussi comme un moule ou une usine à partir de laquelle il est possible de créer des objets. On parle alors d'instanciation d'un objet (création d'un objet ayant les propriétés de la classe).
Il est possible de restreindre l'ensemble d'objets représenté par une classe A grâce à un mécanisme d'héritage. Dans ce cas, on crée une nouvelle classe B liée à la classe A et qui ajoute de nouvelles propriétés. Dans ce cas, différents termes sont utilisés :
<li>A est une généralisation de B et B est une spécialisation de A,
</li>
<li>A est une super-classe de B et B est une sous-classe de A,
</li>
<li>A est la classe mère de B et B est une classe fille de A. </li>
mouaip... en terme moins informatique et plus "populaire".
Une classe représente un objet avec ses propriétés, ses fonctionnalités et ses avertisseurs (évènements).
Prenons pour exemple, une voiture. Ses propriétés : marque, couleur, puissance... Ses fonctionnalités : avance, recule, tourne... Ses évènements : clignotants...
Donc, ma clio serait une instance de la classe Voiture ayant les propriétés suivante :
- Marque : Renault
- Modèle : Clio
- Puissance : 100ch
- Nombre de Portes : 3
...
Pour la faire avancer, je fais clio.Avance(), pour freiner clio.Freine(). Sachant que Freine() entraine un évènement "FeuxDeStopAllumés".
On pourrait déterminer une classe VoitureDeSport... mais une voiture de sport est avant tout une voiture. Donc, pour éviter de créer une nouvelle classe de toute pièce, une utilise une notion que l'on appelle héritage. La classe VoitureDeSport aura les mêmes propriétés que la classe Voiture, mais on pourra changer la méthode Avance() pour qu'elle accélère plus vite.