Fondements

Icône de l'outil pédagogique Les classes (Class)

Une classe est un moule d'objet. Elle décrit les attributs et les méthodes de toute une famille d'objets.

Une classe définit en particulier un type d'objet.

Les objets d'une même classe auront des attributs de même type, mais avec des valeurs différentes.

Une classe est la description générale d'une famille d'objet et un objet est une instance de classe. On parle d'instanciation.

Par exemple, si une classe Voiture décrit une voiture avec comme attributs une couleur, un type de moteur et un nombre de chevaux, une instance de cette classe, un objet, désigne donc une voiture particulière, "la voiture de Monsieur Jean", qui est rouge et qui a un moteur diesel de 90 chevaux.

 

Dans l'application Alice, une coccinelle, un papillon sont des classes.

En les sélectionnant, on créé des objets dérivés de ces classes dont on peut changer les attributs.

 


 


Icône de l'outil pédagogique Le polymorphisme

Le mot Polymorphisme vient du grec et veut dire de formes différentes.

Le polymorphisme permet d'avoir des méthodes (polymorphisme ad-hoc), des attributs (polymorphisme paramétrique) de même nom, avec des fonctionnalités similaires, dans des classes sans aucun rapport entre elles (si ce n'est bien sûr d'être des filles de la classe objet).

Par exemple, la classe texte et la classe image dans un logiciel de traitement de texte peuvent avoir chacune une méthode "afficher". Cette méthode à la même action alors qu'elle manuipule des objets différents.

L'héritage est une forme particulière de polymorphisme

 


Icône de l'outil pédagogique L'héritage (Herited)

L'héritage est un mécanisme par lequel on définit une classe d'objet comme étant un cas particulier d'une classe plus générale.
Les classes peuvent être imbriquées à l'infini, et l'héritage s'accumule automatiquement. Cette structure est arborescente et s'appelle une hiérarchie de classe.
C'est grâce à l'héritage que l'on obtient une réelle "réutilisabilité" du code, une maintenance facilité et surtout une grande évolutivité. Toutes les sous-classes héritent d'une nouvelle fonctionnalité écrite dans la super-classe.

Dans l'application Alice, les personnages sont des classes qui intègrent des sous-classes :

La classe Ladybug (coccinelle) intègre des sous-classes qui correspondent aux membres de la coccinelle.

Le principe même de l'héritage c'est que lorsqu'une méthode est décrite sur une classe parent elle est automatiquement héritée par les classes enfants.

 

 

 

 

 

 

 

 

 

 

 

 


Icône de l'outil pédagogique Encapsulation des données

L'encapsulation est un mécanisme consistant à rassembler les données et les méthodes au sein d'une structure en cachant l'implémentation de l'objet, c'est-à-dire en empêchant l'accès aux données et aux codes informatiques par un autre moyen que les services proposés.

L'encapsulation permet donc de garantir l'intégrité des données contenues dans l'objet.

Pour ce faire, lors de l'écriture des classes on dispose de trois niveaux de lisibilité :

  • publique: les fonctions de toutes les classes peuvent accéder aux données ou aux méthodes d'une classe définie avec le niveau de visibilité public.
  • protégée: l'accès aux données est réservé aux fonctions des classes héritières, c'est-à-dire par les fonctions membres de la classe ainsi que des classes dérivées
  • privée: l'accès aux données est limité aux méthodes de la classe elle-même. Il s'agit du niveau de protection des données le plus élevé

Icône de l'outil pédagogique Les messages

En programmation objet, les objets s'animent grâce aux méthodes.

Les méthodes sont activées grace à des messages qui leur sont envoyés.

Les messages peuvent provenir

  • d'un élément extérieur : clavier, souris, etc....
  • de mécanismes internes au programme orienté objet : temporisation, signal provenant d'un autre objet.....