3.6 Concepts de base de Dart : classes et objets
Dart est un langage orienté objet, ce qui signifie que presque tout est objet, y compris les fonctions et null. Dans Dart, les classes constituent le principal moyen de définir des objets. Comprendre les classes et les objets est essentiel pour maîtriser Dart et, par extension, Flutter.
Cours
Dans Dart, une classe est un modèle ou un plan à partir duquel des objets sont créés. Une classe représente un ensemble de propriétés (variables) et de méthodes (fonctions) communes à tous les objets d'un type donné.
Pour définir une classe dans Dart, nous utilisons le mot-clé 'class' suivi du nom de la classe. Par exemple, si nous voulions créer une classe pour représenter une voiture, nous pourrions faire quelque chose comme ceci :
Dans cet exemple, « Car » est une classe avec deux propriétés, « model » et « year », et une méthode appelée « drive ».
Objets
Un objet est une instance d'une classe. Il a un état et un comportement. L'état d'un objet est stocké dans ses propriétés et son comportement est défini par ses méthodes. Pour créer un objet à partir d'une classe, nous utilisons le mot-clé 'new' suivi du nom de la classe et des parenthèses. Par exemple, pour créer un objet de la classe 'Car', nous procéderions comme suit :
Dans cet exemple, 'myCar' est un objet de la classe 'Car'. Nous pouvons accéder aux propriétés et méthodes d'un objet en utilisant l'opérateur '.'. Par exemple, pour définir le modèle et l'année de notre voiture, puis faire rouler la voiture, nous procéderions comme suit :
Constructeurs
Un constructeur est une méthode spéciale appelée lors de la création d'un objet. Dans Dart, chaque classe possède un constructeur par défaut, qui ne prend aucun paramètre et ne fait rien. Cependant, vous pouvez définir votre propre constructeur pour une classe, ce qui peut être utile pour initialiser les propriétés d'un objet lors de sa création.
Pour définir un constructeur pour une classe, on utilise le nom de la classe suivi de parenthèses. Entre parenthèses, nous pouvons définir les paramètres du constructeur. Par exemple, nous pourrions définir un constructeur pour la classe 'Car' qui accepte le modèle et l'année comme paramètres :
Désormais, lorsque nous créons une nouvelle voiture, nous pouvons transmettre le modèle et l'année directement au constructeur :
Conclusion
Les classes et les objets sont des concepts fondamentaux dans Dart et dans la programmation orientée objet en général. Les classes nous permettent de définir des modèles pour les objets, et les objets nous permettent de créer des instances de ces modèles. Les constructeurs nous permettent d'initialiser les propriétés d'un objet lors de sa création. La maîtrise de ces concepts est essentielle pour créer des applications avec Flutter et Dart.