Menu
Coddy logo textTech

פונקציונליות חיפוש

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

challenge icon

אתגר

קל

בשיעור הקודם בנית מחלקה Library עם פונקציונליות של השאלת ספרים והחזרתם. עכשיו נוסיף יכולות חיפוש כדי שמשתמשים יוכלו למצוא ספרים באוסף הספרייה.

תשדרג את המחלקה Library שלך עם שלוש שיטות חיפוש חדשות שיעזרו למשתמשים לגלות ספרים:

  • book.dart: השאר את המחלקה הקיימת Book ללא שינוי.
  • user.dart: השאר את המחלקה הקיימת User ללא שינוי.
  • library.dart: הוסף למחלקה Library שלך שלוש שיטות חיפוש:
    • searchByTitle(String query) - מחזירה List<Book> שמכיל את כל הספרים שהכותרת שלהם מכילה את מחרוזת השאילתה (ללא תלות באותיות גדולות וקטנות)
    • searchByAuthor(String query) - מחזירה List<Book> שמכיל את כל הספרים ששם המחבר שלהם מכיל את מחרוזת השאילתה (ללא תלות באותיות גדולות וקטנות)
    • getAvailableBooks() - מחזירה List<Book> שמכיל רק ספרים שזמינים כרגע להשאלה
  • main.dart: הדגם את פונקציונליות החיפוש. צור Library והוסף ארבעה ספרים:
    • 978-0-13-468599-1, The Pragmatic Programmer, David Thomas
    • 978-0-596-51774-8, JavaScript: The Good Parts, Douglas Crockford
    • 978-0-13-235088-4, Clean Code, Robert Martin
    • 978-0-20-161622-4, The Pragmatic Programmer, Andrew Hunt
    רשום משתמש (U001, Alice) והשאל לו את הספר הראשון. לאחר מכן:
    1. חפש ספרים שהכותרת שלהם מכילה את pragmatic והדפס Title search 'pragmatic': X found כאשר X הוא מספר התוצאות
    2. חפש ספרים מאת מחבר ששם משפחתו מכיל את david והדפס Author search 'david': X found
    3. קבל את הספרים הזמינים והדפס Available books: X
    4. הדפס כל ספר זמין בשורה משלו

הפלט הצפוי:

U001 borrowed "The Pragmatic Programmer"
Title search 'pragmatic': 2 found
Author search 'david': 1 found
Available books: 3
[978-0-596-51774-8] JavaScript: The Good Parts by Douglas Crockford
[978-0-13-235088-4] Clean Code by Robert Martin
[978-0-20-161622-4] The Pragmatic Programmer by Andrew Hunt

נסו בעצמכם

import 'book.dart';
import 'user.dart';
import 'library.dart';

void main() {
  // צור Library
  Library library = Library();
  
  // TODO: הוסף ארבעה ספרים לספרייה:
  // 1. 978-0-13-468599-1, The Pragmatic Programmer, David Thomas
  // 2. 978-0-596-51774-8, JavaScript: The Good Parts, Douglas Crockford
  // 3. 978-0-13-235088-4, Clean Code, Robert Martin
  // 4. 978-0-20-161622-4, The Pragmatic Programmer, Andrew Hunt
  
  // TODO: רשום משתמש (U001, Alice)
  
  // TODO: דאג שהמשתמש ישאל את הספר הראשון
  
  // TODO: חפש ספרים שבכותרתם מופיע 'pragmatic'
  // הדפס: Title search 'pragmatic': X נמצאו
  
  // TODO: חפש ספרים מאת 'david'
  // הדפס: Author search 'david': X נמצאו
  
  // TODO: קבל את הספרים הזמינים והדפס: Available books: X
  
  // TODO: הדפס כל ספר זמין בשורה נפרדת
}

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

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