Eine Klasse für deine Daten
Teil des Abschnitts Listen und Bildschirme der Flutter-Journey von Coddy. Lektion 12 von 33.
Ein Buch ist mehr als eine einzelne Zeichenkette: Es hat einen Titel und einen Autor, und beides gehört zusammen. Eine class beschreibt eine neue Art von Wert, der aus benannten Bestandteilen besteht, sogenannten Feldern:
class Book {
final String title;
final String author;
Book(this.title, this.author);
}Die Zeile Book(this.title, this.author); ist der Konstruktor: Er erstellt ein neues Buch und füllt seine Felder in dieser Reihenfolge aus. Book('Dune', 'Frank Herbert') ist ein Buch mit dem Titel Dune.
Du greifst mit einem Punkt auf ein Feld zu: book.title, book.author. Eine Liste von Büchern hat den Typ List<Book>, genauso wie eine Liste von Zeichenketten den Typ List<String> hat.
Eine Klasse steht für sich allein, außerhalb deiner Widget-Klassen, normalerweise am Ende der Datei.
Aufgabe
MittelDie Klasse Book hat nur einen Titel. Gib ihr einen Autor:
- Füge ein Feld
final String author;hinzu und weise ihm im Konstruktor nach dem Titel einen Wert zu - Gib jedem Buch seinen Autor:
Frank Herbert,Jane AustenundJames Joyce - Zeige den Autor als
subtitlejeder Kachel an
Probier es selbst
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);
}
Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
Alle Lektionen in Listen und Bildschirme
1Scrollbare Listen
Eine scrollbare ListeListenelementeVorne und hintenEin Listenelement antippenTrennlinien zwischen Zeilen4Deine eigenen Klassen
Eine Klasse für deine DatenBenannte und erforderliche ParameterFelder, die leer sein könnenWidgets aus Daten mit mapEine Liste mit where filternIn einer Map nachschlagenÜbe selbstständig: Online-Flutter-Compiler