Klasa dla Twoich danych
Część sekcji Listy i ekrany ścieżki Flutter w Coddy. Lekcja 12 z 33.
Książka to coś więcej niż jeden ciąg znaków: ma tytuł i autora, które są ze sobą powiązane. Klasa opisuje nowy rodzaj wartości składającej się z nazwanych części, zwanych polami:
class Book {
final String title;
final String author;
Book(this.title, this.author);
}Wiersz Book(this.title, this.author); to konstruktor: tworzy nową książkę i wypełnia jej pola w tej kolejności. Book('Dune', 'Frank Herbert') to książka o tytule Dune.
Odczytaj pole, używając kropki: book.title, book.author. Lista książek ma typ List<Book>, tak samo jak lista ciągów znaków ma typ List<String>.
Umieść klasę poza klasami widżetów, zwykle na końcu pliku.
Wyzwanie
ŚredniKlasa Book ma tylko tytuł. Dodaj do niej autora:
- dodaj pole
final String author;i wypełnij je w konstruktorze, po tytule - przypisz każdej książce autora:
Frank Herbert,Jane AusteniJames Joyce - wyświetl autora jako
subtitlekażdego elementu listy
Spróbuj swoich sił
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);
}
Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.
Wszystkie lekcje w sekcji Listy i ekrany
1Przewijane listy
Lista z przewijaniemElementy listyPoczątek i koniecDotknij elementu listySeparatory między wierszami4Własne klasy
Klasa dla Twoich danychNazwane i wymagane parametryPola, które mogą być pusteWidżety z danych za pomocą mapFiltrowanie listy za pomocą whereWyszukiwanie w mapie5Więcej niż jeden ekran
Otwórz nowy ekranStrzałka wsteczWróć za pomocą przyciskuPrześlij dane do ekranuOdbierz wynik6Karty, szuflady i gesty przesunięcia
Karty z paskiem nawigacyjnymWypełnione ikony dla otwartej kartyBoczna szufladaPrzesuń, aby usunąćCofnij przesunięciePoćwicz samodzielnie: Kompilator Flutter online