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

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

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();