Qu’est-ce qu’une classe dans Flutter ?
Une notion importante à comprendre quand on commence à coder avec Flutter est celle de classe. Dans Flutter et dans la plupart des langages orientés objets, les classes sont des abstractions qui permettent de définir un modèle d’objet. Elles peuvent contenir des propriétés et des méthodes qui définissent le comportement de ces dits objets, pour nous permettre de les créer et les manipuler plus facilement.
Par exemple, imaginons une classe “humain”. On pourrait imaginer que celle-ci aurait des propriétés poids, taille, couleur de cheveux, etc qu’il nous appartiendrait de définir à chaque fois que l’on voudrait créer un nouvel individu. Elle contiendrait aussi des méthodes comme, parler, manger, dormir, etc, qui nous permettrait de réaliser des actions avec nos humains.
Flutter a donc sa propre collection de classes, qui vous permettent de créer plus facilement divers types d’objets et de les utiliser pour construire votre application. Parmi celles-ci, on trouve les classes :
- String ;
- int ;
- double ;
- bool ;
- List ;
- Map ;
- DateTime ;
- uri, etc.
La classe String
La classe String vous permet de créer des objets de type textuel et de les manipuler. Grâce à celle-ci, vous pourrez créer des variables contenant des chaînes de caractères, c’est-à-dire des lettres, des chiffres, ou des symboles.
Les variables de type String sont symbolisées par des guillemets, simples ou doubles. Par exemple, Flutter reconnait indifféremment ces deux variables comme des Strings :
String message = "Hello World";
String message2 = "Hello World";
Pour en apprendre plus sur cette classe, comment créer des variables et manipuler des objets, je vous invite à lire mon article sur la classe String.
Les classes int et double
Ce que vous pouvez faire avec des valeurs numériques dans Flutter est défini par les classes int et double. La classe Int, ne peut utiliser que des nombres entiers, c’est-à-dire, 1, -10, 1000, etc. La classe double quant à elle, permet de créer des chiffres ou des nombres suivis d’une virgule, comme 3.14 par exemple.
Flutter met ensuite à disposition, diverses méthodes pour faire des opérations à partir de vos valeurs numériques, les comparer, définir si elles sont paires ou impaires, etc. Attention toutefois, vous ne pouvez pas mélanger des int avec des doubles et devez donc être vigilant au moment de définir vos variables, de bien choisir la bonne classe.
Pour en apprendre plus sur ces deux classes, comment créer des variables et manipuler des objets de ces types, je vous invite à lire mon article sur les classes int et double.
La classe bool
Bool vient de booléen, qui signifie “quelque chose qui ne peut prendre que deux valeurs distinctes. En l’occurrence, on parle ici de variables qui ne peuvent prendre que la valeur de true (vrai), ou bien de false (faux).
La classe bool est très pratique lorsque vous avez besoin de créer des conditions. Par exemple, montrer cette page si l’utilisateur a cette caractéristique, sinon montrer celle-ci. Vous serez donc amené à souvent la revoir, dès lors que vous allez introduire des évènements dans votre application.
La classe List
Comme son nom l’indique, la classe List gère le comportement de vos variables de type liste. Ces listes peuvent contenir des objets appartenant à d’autres classes comme String, ou int, mais aussi d’autres listes.
Vous pouvez ensuite manipuler les objets qui s’y trouvent, grâce à ce qu’on appelle un index. Cet index est une valeur numérique symbolisant la place d’un élément dans votre liste. En retrouvent cette valeur, je vais donc pouvoir retrouver mon objet et réaliser l’action souhaitée.
Pour comprendre comment fonctionne une liste, accéder à ses éléments et en apprendre plus sur les différentes méthodes mises à disposition par Flutter, je t’invite à lire mon article sur la classe List.
La classe Map
La classe Map un comportement similaire à celui de la liste, mais chaque élément contenu dans celle-ci fonctionne selon un système de key : value (clé:value). Mon index va donc ici être une clé, qui peut très bien être une valeur numérique, mais aussi du texte, un booléen, etc. C’est donc cette clé que je dois utiliser pour accéder à l’élément sur lequel je veux réaliser une action.
Les maps sont pratiques pour représenter des objets complexes ayant de nombreuses propriétés. Par exemple, je pourrais représenter un individu avec celles-ci :
Map John = {
taille : 185,
poids : 75,
yeux : "marrons",
couleurs favorites : ["bleu", "mauve", "vert menthe"],
}
Pour comprendre comment fonctionne une map, accéder à ses éléments et en apprendre plus sur les différentes méthodes mises à disposition par Flutter, je t’invite à lire mon article sur la classe Map.
La classe DateTime et Duration
La classe DateTime comme son nom l’indique, permet de représenter des valeurs temporelles, c’est-à-dire une date et une heure. Elle se distingue de la classe Duration qui représente aussi une valeur temporelle, mais dans le sens d’une durée.
Pour donner un exemple, un objet de type DateTime pourrait être le 17 janvier à 13h34 , alors qu’un objet de type Duration serait 3 mois, 2 semaines, 1 jour et 8h.
La classe Uri
Enfin, la classe Uri permet de représenter des identifiants de ressources qui vont pouvoir ensuite être utilisés. Par exemple, un Uri pourrait être un url, un numéro de téléphone ou des coordonnées géographiques. Une fois traduites avec la bonne méthode, celle-ci vont nous permettre d’aller vers une page internet, appeler un numéro de téléphone ou trouver un endroit sur une carte.