Les constructeurs de classe dans Dart
Sommaire
- 1- Présentation
- 2- Syntaxe et utilisation
- 3- Créer un constructeur dans Dart
- 4- Types de constructeurs dans Dart
- 4.1- Constructeur par défaut ou constructeur sans argument
- 4.1.1- Syntaxe
- 4.1.2- Exemple
- 4.2- Constructeur de paramètres
- 4.2.1- Syntaxe
- 4.2.2- Exemple
- 4.3- Constructeur nommé
- 4.3.1- Syntaxe
- 4.3.2- Exemple
- 4.3.3- Cours Flutter
-
Présentation
- Les constructeurs sont une méthode spéciale utilisée pour initialiser un objet lorsqu’il est créé dans le programme.
- En programmation orientée objet, lorsqu’un objet est créé, il appelle automatiquement le constructeur.
- Toutes les classes ont leur constructeur par défaut qui est créé par le compilateur lorsque la classe est appelée, de plus on peut également définir son propre constructeur.
- L’instanciation d’un objet se fait par l’appel à un constructeur. La syntaxe est la même qu’en Java.
- Le constructeur et les autres méthodes de classe présentent plusieurs différences significatives.
- Le constructeur porte le même nom que le nom de la classe.
- Le constructeur n’a pas de type de retour.
- Lorsqu’un objet est créé, le constructeur est automatiquement appelé.
- Si aucun constructeur n’est spécifié, le constructeur sans argument par défaut est utilisé.
- Par exemple, si on a un attribut “nom” dans notre classe, le paramètre devra être “this.nom”. Il n’y a alors pas besoin d’ écrire le corps de la méthode.
-
Syntaxe et utilisation
- Les constructeurs ont le même nom que le nom de la classe et n’ont pas de type de retour.
- Dans la syntaxe ci-dessus :
class_name
est le nom de la classe dont le constructeur est créé.les paramètres
sont des fonctionnalités facultatives et ils peuvent et ne peuvent pas être définis pour le constructeur. Le constructeur par défaut ne contient aucun paramètre défini.Le corps du constructeur
est le corps du constructeur et est exécuté lorsque le constructeur est appelé, c’est-à-dire lorsqu’un objet est créé.-
Créer un constructeur dans Dart
- Tout d’abord, voyons comment écrire un constructeur de base dans dart.
- Comme nous l’avons mentionné, un constructeur a le même nom que son nom de classe et il ne renvoie aucune valeur.
- Supposons que si nous avons la classe Etudiant, le nom du constructeur doit également être Etudiant.
- Dans l’exemple ci-contre, nous avons créé une fonction constructeur Etudiant() qui est identique au nom de la classe. Nous avons passé deux paramètres dans le constructeur et lorsque nous avons instancié un objet de la classe Etudiant, il a automatiquement appeler le constructeur puis afficher le résultat.
-
Types de constructeurs dans Dart
- Il existe trois types de constructeurs dans Dart, comme indiqué ci-dessous.
-
Constructeur par défaut ou constructeur sans argument
- Le constructeur par défaut est un constructeur qui n’a aucun paramètre.
- Si vous ne déclarez pas de constructeur, un constructeur par défaut vous est fourni. Le constructeur par défaut n’a pas d’arguments et appelle le constructeur sans argument dans la superclasse (vous le comprendrez mieux dans la leçon sur le super constructeur).
-
Syntaxe
-
Exemple
-
Constructeur de paramètres
- Nous pouvons également passer les paramètres à un constructeur, ce type de constructeur est appelé constructeur paramétré. Il est utilisé pour initialiser les variables d’instance. Parfois, nous avons besoin d’un constructeur qui accepte un ou plusieurs paramètres. Les constructeurs paramétrés sont principalement utilisés pour initialiser la variable d’instance avec ses propres valeurs. La syntaxe est donnée ci-dessous.
-
Syntaxe
-
Exemple
-
Constructeur nommé
- Ce type de constructeur est la solution au problème d’avoir plusieurs constructeurs portant le même nom. Il vous permet de créer plusieurs constructeurs, chacun avec son propre nom.
- Dans d’autres langages, il est possible de surcharger votre constructeur. Cela signifie que vous pouvez avoir différents constructeurs avec le même nom mais avec une signature différente (ou un ensemble d’arguments différent).
- Dans Dart, ce n’est pas possible, mais il y a un moyen de contourner cela. C’est ce qu’on appelle des constructeurs nommés . Donner à vos constructeurs des noms différents permet à votre classe d’avoir de nombreux constructeurs et également de mieux représenter leurs cas d’utilisation en dehors de la classe.
-
Syntaxe
-
Exemple
class_name( [ paramètres ] ){
// Corps du constructeur
}
Les constructeurs n’ont pas de type de retour.
void main() {
// Création d'un objet
Etudiant std = new Etudiant("Ahmed", 26);
}
class Etudiant {
// Déclarer un construstor
Etudiant(String str, int age) {
print("Le nom est: ${str}");
print("L'âge est: ${age}");
}
}
class ClassName {
ClassName() {
// constructor body
}
}
class Etudiant {
Etudiant() {
print("À l'intérieur du constructeur étudiant");
}
}
void main() {
Etudiant st = new Etudiant();
}
class ClassName {
ClassName(parameter_list){
// constructor body
}
}
class Etudiant {
Etudiant(String name) {
print("Nom de l'étudiant : ${name}");
}
}
void main() {
Etudiant st = new Etudiant("Riadh!");
}
className.constructor_name(param_list)
void main() {
Etudiant emp1 = new Etudiant();
Etudiant emp2 = new Etudiant.namedConst('ET001');
}
class Etudiant{
Etudiant() {
print("À l'intérieur du constructeur Etudiant");
}
Etudiant.namedConst(String etCode) {
print(etCode);
}
}