Algorithmique en Scala : Les classes
par
popularité : 2%
Voici une présentation très légère de la notion de classe, légère car elle se limite dans cet article à l’imitation de structure, et non à la définition d’une classe au sens de la Programmation Orientée Objet.
Une classe permet de regrouper un ensemble de caractéristiques pour un élément donné.
Par exemple, une personne peut être représentée par un nom, un prénom et un age.
Si l’on souhaite gérer un ensemble de 10 personnes, il faudrait 3 tableaux :
Les cases 0 des tableaux lesNoms, lesPrenoms et lesAges contiennent les informations sur la personne 0....
Pour afficher les personnes, il faudrait exécuter :
- {
- println(lesNoms(i) + " " + lesPrenoms(i) + " age : " + lesAges(i));
- }
Ce qui n’est pas si contraignant.
Par contre, l’échange de place de deux personnes (pour un tri par exemple) oblige à échanger les valeurs dans chacun des trois tableaux...
Pour simplifier, il est possible d’utiliser une structure spéciale, appelée classe :
Pour créer une personne :
Il faut définir un emplacement en mémoire pour la personne et utiliser la syntaxe suivante
Pour aller plus vite, on peut aussi donner une valeur aux champs en déclarant la personne (en respectant l’ordre de déclaration (nom, prenom, age)) :
On peut aussi ne donner une valeur qu’à quelques champs particuliers, auxquels cas, il faut les nommer :
On peut alors définir un tableau de personnes :
Pour remplir un tableau de personnes :
On peut effectuer le code suivant :
Pour afficher un tableau de personnes :
On peut utilise le code suivant :
- {
- println(monTab(i).nom + " " + monTab(i).prenom + " age : " + monTab(i).age );
- }
C’est-à-dire qu’on affiche le nom de la personne dans la case i du tableau, suivi de son prénom et de son age.
Pour échanger la place de deux personnes dans le tableau, cela devient beaucoup plus simple :
- {
- Personne tampon = tab(i);
- tab(i) = tab(j);
- tab(j) = tampon;
- }