Programmation/Programmation orientée objet/Classes et objets
Un objet rassemble ce que permet la programmation impérative en un objet. C'est à dire qu'un objet rassemble plusieurs variables (comme une structure) et les opérations qui leur sont applicables en une seule entité.
Un objet est assimilé à une variable, et une classe est assimilé à un type (un modèle d'objet).
Classe
[modifier | modifier le wikicode]Une classe est la définition d'un nouveau type de variable particulier. Ce type est similaire à une structure ou enregistrement. Il rassemble plusieurs champs de données.
Exemple en Java :
- Une classe "Livre" rassemblant son titre, son auteur, son année de parution et son nombre de pages.
public class Livre
{
String titre;
String auteur;
int annee;
int pages;
}
Ce type peut également définir des fonctions qui s'appliqueront à celui-ci. Les fonctions définies dans une classe sont appelées "méthodes".
Exemple (suite du précédent) :
- Une méthode "obtenirInformation" retourne une chaîne contenant la valeur des champs de l'objet courant.
public class Livre
{
String titre;
String auteur;
int annee;
int pages;
// une méthode de la classe Livre :
String obtenirInformation()
{
return
"Le livre \""+titre+"\" écrit par "+auteur+
" paru en "+annee+" fait "+pages+" pages.";
}
}
En résumé, une classe rassemble les données et les opérations qui leur sont applicables en une seule définition de type.
Objet
[modifier | modifier le wikicode]Un objet est une instance d'une classe. On peut assimiler une classe à un type, et un objet à une variable.
Créer un objet à partir d'une classe est une opération appelée "instanciation".
Exemple :
Livre monLivre;
- En Java et en C#, une variable d'une classe donnée n'alloue aucun espace mémoire pour l'objet car il s'agit en fait d'une référence (similaire à un pointeur). Il faut donc explicitement allouer un objet :
Livre monLivre = new Livre();