Menu
CoddyTech

Una classe per i tuoi dati

Fa parte della sezione Elenchi e schermate del percorso Flutter di Coddy. Lezione 12 di 33.

Un libro è più di una stringa: ha un titolo e un autore, che appartengono insieme. Una classe descrive un nuovo tipo di valore composto da parti denominate, chiamate campi:

class Book {
  final String title;
  final String author;

  Book(this.title, this.author);
}

La riga Book(this.title, this.author); è il costruttore: crea un nuovo libro e ne riempie i campi, in quest’ordine. Book('Dune', 'Frank Herbert') è un libro il cui titolo è Dune.

Leggi un campo usando un punto: book.title, book.author. Una lista di libri ha il tipo List<Book>, proprio come una lista di stringhe è List<String>.

Una classe va dichiarata da sola, al di fuori delle classi dei tuoi widget, di solito in fondo al file.

challenge icon

Sfida

Medio

La classe Book ha solo un titolo. Aggiungile un autore:

  • aggiungi un campo final String author; e assegnagli un valore nel costruttore, dopo il titolo
  • assegna a ogni libro il suo autore: Frank Herbert, Jane Austen e James Joyce
  • mostra l'autore come subtitle di ogni elemento

Provalo tu

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 iconMettiti alla prova

Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.

Tutte le lezioni di Elenchi e schermate

Esercitati da solo: Compilatore Flutter online