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

صنف لبياناتك

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

الكتاب أكثر من مجرد سلسلة نصية واحدة: له عنوان ومؤلف، وهما مرتبطان ببعضهما. تصف class نوعًا جديدًا من القيم يتكوّن من أجزاء مسماة، تُسمى حقولًا:

class Book {
  final String title;
  final String author;

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

السطر Book(this.title, this.author); هو المُنشئ: فهو ينشئ كتابًا جديدًا ويملأ حقوله بهذا الترتيب. Book('Dune', 'Frank Herbert') هو كتاب عنوانه Dune.

اقرأ حقلًا باستخدام نقطة: book.title، book.author. قائمة الكتب نوعها List<Book>، بالطريقة نفسها التي يكون بها نوع قائمة السلاسل النصية List<String>.

اكتب الصنف بمفرده، خارج أصناف عناصر الواجهة، وعادةً في أسفل الملف.

challenge icon

التحدي

متوسط

يحتوي الصنف Book على عنوان فقط. أضف إليه مؤلفًا:

  • أضف حقلًا final String author; واملأه في المُنشئ، بعد العنوان
  • عيّن لكل كتاب مؤلفه: Frank Herbert وJane Austen وJames Joyce
  • اعرض المؤلف بوصفه subtitle لكل عنصر

جرّب بنفسك

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

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

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

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