Menu
Coddy logo textTech

מחלקות ספר ומשתמש

חלק מהיחידה תכנות מונחה עצמים במסלול ה-Dart של Coddy. שיעור 102 מתוך 110.

challenge icon

אתגר

קל

בשיעור הקודם יצרת מחלקת Book עם מאפיינים בסיסיים ומתודת toString(). עכשיו הגיע הזמן להרחיב את מערכת הספרייה שלך על ידי הוספת מחלקת User לייצוג חברי ספרייה שיכולים לשאול ספרים.

יהיה עליך ליצור קובץ חדש ולעדכן את הקבצים הקיימים שלך:

  • book.dart: שדרג את מחלקת Book הקיימת שלך על ידי הוספת מאפיין isAvailable (בוליאני) שערכו כברירת מחדל הוא true. כך ניתן יהיה לעקוב אחר האפשרות לשאול ספר.
  • user.dart: צור מחלקת User חדשה לייצוג חברי הספרייה. לכל משתמש צריכים להיות id (String), name (String) ורשימת borrowedBooks שמכילה אובייקטים מסוג Book. כלול בנאי שמאתחל את ה-id ואת השם, עם רשימה ריקה של ספרים שאולים. דרוס את toString() כך שתחזיר את התבנית User [id]: name (X books borrowed), כאשר X הוא מספר הספרים השאולים.
  • main.dart: ייבא את קובצי הספר והמשתמש שלך. צור ספר עם ISBN 978-0-13-468599-1, כותרת The Pragmatic Programmer ומחבר David Thomas. צור משתמש עם id U001 ושם Alice Johnson. הדפס את הספר, ואז הדפס אם הוא זמין באמצעות התבנית Available: true או Available: false. הדפס את המשתמש. לאחר מכן הוסף את הספר לרשימת הספרים השאולים של המשתמש, הגדר את isAvailable של הספר לערך false, והדפס שוב את המשתמש כדי להציג את מספר הספרים המעודכן.

כך תבסס את הקשר בין ספרים למשתמשים, שעליו תוכל לבנות כשתיישם את מערכת השאלת הספרים המלאה בשיעור הבא!

פלט צפוי:

[978-0-13-468599-1] The Pragmatic Programmer by David Thomas
Available: true
User U001: Alice Johnson (0 books borrowed)
User U001: Alice Johnson (1 books borrowed)

נסו בעצמכם

import 'book.dart';
// TODO: ייבאו את user.dart

void main() {
  // TODO: צרו ספר עם ISBN '978-0-13-468599-1', כותרת 'The Pragmatic Programmer' ומחבר 'David Thomas'
  
  // TODO: צרו משתמש עם id 'U001' ושם 'Alice Johnson'
  
  // TODO: הדפיסו את הספר
  
  // TODO: הדפיסו אם הספר זמין בפורמט: Available: true/false
  
  // TODO: הדפיסו את המשתמש
  
  // TODO: הוסיפו את הספר לרשימת borrowedBooks של המשתמש
  
  // TODO: הגדירו את isAvailable של הספר ל־false
  
  // TODO: הדפיסו שוב את המשתמש כדי להציג את מספר הספרים המעודכן
}

כל השיעורים ביחידה תכנות מונחה עצמים

תרגלו בעצמכם: קומפיילר Dart אונליין