Une classe pour vos données
Fait partie de la section Listes et écrans du Journey Flutter de Coddy. Leçon 12 sur 33.
Un livre est composé de plusieurs éléments, pas d’une seule chaîne : il a un titre et un auteur, et ces éléments vont ensemble. Une classe décrit un nouveau type de valeur constitué de parties nommées, appelées champs :
class Book {
final String title;
final String author;
Book(this.title, this.author);
}La ligne Book(this.title, this.author); est le constructeur : il crée un nouveau livre et renseigne ses champs, dans cet ordre. Book('Dune', 'Frank Herbert') est un livre dont le titre est Dune.
Accède à un champ avec un point : book.title, book.author. Une liste de livres a le type List<Book>, tout comme une liste de chaînes a le type List<String>.
Une classe se déclare à part, en dehors de tes classes de widgets, généralement en bas du fichier.
Défi
MoyenLa classe Book n’a qu’un titre. Ajoute-lui un auteur :
- ajoute un champ
final String author;et renseigne-le dans le constructeur, après le titre - attribue à chaque livre son auteur :
Frank Herbert,Jane AustenetJames Joyce - affiche l’auteur comme
subtitlede chaque élément
Essayez vous-même
import 'package:flutter/material.dart';
void main() {
runApp(const MyApp());
}
class MyApp extends StatelessWidget {
const MyApp({super.key});
@override
Widget build(BuildContext context) {
final List<Book> books = [
Book('Dune'),
Book('Emma'),
Book('Ulysses'),
];
return MaterialApp(
debugShowCheckedModeBanner: false,
home: Scaffold(
appBar: AppBar(title: const Text('Books')),
body: ListView(
children: [
for (Book book in books)
ListTile(
title: Text(book.title),
),
],
),
),
);
}
}
class Book {
final String title;
Book(this.title);
}
Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.
Toutes les leçons de Listes et écrans
1Listes défilantes
Une liste qui défileÉléments de listeDébut et finAppuyer sur un élément de listeSéparateurs entre les lignes4Vos propres classes
Une classe pour vos donnéesParamètres nommés et obligatoiresChamps pouvant être videsCréer des widgets à partir de données avec mapFiltrer une liste avec whereRechercher dans une map2Des listes à partir de données
Construire des lignes avec un générateurNuméroter les lignesLignes avec séparateursEntraînez-vous par vous-même : Compilateur Flutter en ligne