Menu
CoddyTech

Parâmetros Nomeados e Obrigatórios

Parte da seção Listas e telas do Journey de Flutter da Coddy. Lição 13 de 33.

Com três ou quatro campos, Book('Dune', 'Frank Herbert', 412) é difícil de ler, e é fácil trocar duas strings por engano. Os parâmetros nomeados colocam o nome do campo em cada chamada:

class Book {
  final String title;
  final int pages;

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

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

As chaves no construtor tornam os parâmetros nomeados. Você escreve cada um como name: value, em qualquer ordem.

Os widgets que você usou também recebem parâmetros nomeados, como Text(style: ...) ou ListTile(title: ...).

required significa que o parâmetro deve ser informado: omita pages: e o editor exibirá um erro antes de o app ser executado.

challenge icon

Desafio

Médio

Mostre quantas páginas tem cada livro:

  • adicione um campo final int pages; a Book
  • altere o construtor para usar parâmetros nomeados e obrigatórios, e escreva os livros como Book(title: 'Dune', author: 'Frank Herbert', pages: 412). Emma tem 474 páginas e Ulysses 730
  • mostre 412 pages no final de cada linha, como trailing: do bloco

Experimente você mesmo

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 iconTeste seus conhecimentos

Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.

Todas as lições de Listas e telas

Pratique por conta própria: Compilador de Flutter online