Menu
CoddyTech
flag Ar iconالعربيةdown icon

المعاملات المُسمّاة والإلزامية

جزء من قسم القوائم والشاشات في رحلة Flutter على Coddy. الدرس 13 من 33.

مع وجود ثلاث أو أربع حقول، يصعب قراءة Book('Dune', 'Frank Herbert', 412)، ومن السهل تبديل سلسلتين نصيتين عن طريق الخطأ. تضع المعاملات المسماة اسم الحقل في كل استدعاء:

class Book {
  final String title;
  final int pages;

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

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

تجعل الأقواس المعقوفة في المُنشئ المعاملات مسماة. تكتب كلًّا منها بالشكل name: value، بأي ترتيب.

تستخدم الأدوات المصغّرة التي استخدمتها معاملات مسماة أيضًا، مثل Text(style: ...) أو ListTile(title: ...).

تعني required أنه يجب توفير المعامل: إذا حذفت pages:، فسيعرض المحرر خطأً قبل تشغيل التطبيق.

challenge icon

التحدي

متوسط

اعرض عدد صفحات كل كتاب:

  • أضف الحقل final int pages; إلى Book
  • غيّر المُنشئ ليستخدم معلمات مسماة ومطلوبة، واكتب الكتب بالشكل Book(title: 'Dune', author: 'Frank Herbert', pages: 412). لدى Emma 474 صفحة، ولدى Ulysses 730
  • اعرض 412 pages في نهاية كل صف، بوصفه قيمة trailing: الخاصة بالبلاطة

جرّب بنفسك

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 iconاختبر نفسك

يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.

جميع دروس القوائم والشاشات

تدرّب بنفسك: مترجم Flutter عبر الإنترنت