Menu
CoddyTech

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.

challenge icon

Aufgabe

Mittel

Die 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 Austen und James Joyce
  • Zeige den Autor als subtitle jeder 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);
}
quiz iconTeste dich selbst

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

Übe selbstständig: Online-Flutter-Compiler