Menu
CoddyTech

Parametri con nome e obbligatori

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

Con tre o quattro campi, Book('Dune', 'Frank Herbert', 412) è difficile da leggere ed è facile scambiare per errore due stringhe. I parametri con nome indicano il nome del campo a ogni chiamata:

class Book {
  final String title;
  final int pages;

  Book({required this.title, required this.pages});
}

Book(title: 'Dune', pages: 412)

Le parentesi graffe nel costruttore rendono i parametri dotati di nome. Scrivi ciascuno nel formato name: value, in qualsiasi ordine.

Anche i widget che hai usato accettano parametri con nome, come Text(style: ...) o ListTile(title: ...).

required significa che il parametro deve essere fornito: se ometti pages:, l'editor mostra un errore prima che l'app venga eseguita.

challenge icon

Sfida

Medio

Mostra quante pagine ha ogni libro:

  • aggiungi un campo final int pages; a Book
  • modifica il costruttore in modo che usi parametri con nome e obbligatori, e scrivi i libri come Book(title: 'Dune', author: 'Frank Herbert', pages: 412). Emma ha 474 pagine e Ulysses 730
  • mostra 412 pages alla fine di ogni riga, come trailing: della tessera

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', 'Frank Herbert'),
      Book('Emma', 'Jane Austen'),
      Book('Ulysses', 'James Joyce'),
    ];
    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),
                subtitle: Text(book.author),
              ),
          ],
        ),
      ),
    );
  }
}

class Book {
  final String title;
  final String author;

  Book(this.title, this.author);
}
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