1 - Notion de POO en Dart
La programmation orientée objet, ou POO, est un paradigme de programmation qui permet de structurer les programmes de manière à ce que les propriétés et les comportements soient regroupés dans des objets à part. Par exemple, un objet peut représenter une personne avec un nom, un âge, une adresse, etc., avec des comportements tels que marcher, parler, respirer et courir.
En d’autres termes, la programmation orientée objet est une approche permettant de modéliser des éléments concrets du monde réel tels que les voitures les personnes..., ainsi que des relations entre des entités telles que les entreprises et les employés, les étudiants et les enseignants, etc. La modélisation POO modélise des entités réelles sous la forme d’objets logiciels certaines données qui leur sont associées et peuvent remplir certaines fonctions.
2 - Structure générale d'une classe Dart
Une classe Dart possède exactement la même structure qu'une classe Java:
- Déclaration à l'aide l'instruction class
- Déclaration des attributs à l'aide des mots clé: String, int, var, final...
- Déclaration du constructeur sous le même nom de la classe.
- Affectation des paramètres aux attributs via l'instruction this.
- Instanciation via la commande new
Exemple ( classe Personne )
1 2 3 4 5 6 7 8 9 10 11 12 |
class Personne { String name ; int age ; // constructeur de la classe Personne(this.name , this.age); } void main() { var pers = new Personne("Aladin", 23); print("${pers.name} est agé de ${pers.age} ans !"); // Affiche: Aladin est agé de 27 ans ! } |
3 - Les méthodes de classe
Les méthodes de classe sont des fonctions déclarées au sein de la classe permettant de calculer ou effectuer des tâches spécifique. Exemple pour une classe rectangle qui a deux attributs: longueur et largeur, on peut ajouter une méthode qui calcul la surface, une méthode qui calcul le périmètre ...
Exemple ( classe Rectangle )
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
class Rectangle { int longueur ; int largeur ; Rectangle(this.longueur , this.largeur); // méthode qui calcul la surface du rectangle int surface(){ return this.longueur * this.largeur; } // méthode qui calcul le périmètre du rectangle int perimetre(){ return 2 * (this.longueur + this.largeur); } } void main() { var R = new Rectangle(10 , 5 ); print("La surface du rectangle R est : ${R.surface()} "); // Affiche: La surface du rectangle R est : 50 print("Le périmètre du rectangle R est : ${R.perimetre()} "); // Affiche: Le périmètre du rectangle R est : 30 } |
Younes Derfoufi
CRMEF OUJDA