Menu
Coddy logo textTech

ממשק מנהל

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

challenge icon

אתגר

קל

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

נציג מחלקה חדשה בשם Admin ונרחיב את Library שלך כך שתכלול יכולות ניהול:

  • book.dart: השאר את המחלקה הקיימת Book ללא שינוי.
  • user.dart: השאר את המחלקה הקיימת User ללא שינוי.
  • admin.dart: צור מחלקה חדשה בשם Admin שמייצגת מנהלי ספרייה. למנהל יש id (String) ו-name (String). בצע override ל-toString() כך שתחזיר Admin [id]: name.
  • library.dart: הוסף יכולות ניהול למחלקה Library שלך:
    • הוסף רשימה לאחסון מנהלים רשומים
    • registerAdmin(Admin admin) — מוסיפה מנהל לספרייה
    • addBookAsAdmin(String adminId, Book book) — אם המנהל קיים, מוסיפה את הספר ומדפיסה adminId added "title". אם המנהל לא קיים, הדפס Unauthorized.
    • removeBook(String adminId, String isbn) — אם המנהל קיים והספר קיים, מסירה את הספר מהספרייה ומדפיסה adminId removed "title". אם המנהל לא קיים, הדפס Unauthorized. אם הספר לא קיים, הדפס Book not found.
    • getBookCount() — מחזירה את מספר הספרים הכולל בספרייה
  • main.dart: הדגם את ממשק הניהול. צור Library ורשום מנהל (A001, Sarah Admin). השתמש במנהל כדי להוסיף שלושה ספרים:
    • 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
    הדפס את מספר הספרים בפורמט Total books: X. לאחר מכן, נסה להוסיף ספר באמצעות מזהה מנהל לא רשום A999. הסר את הספר השני באמצעות המנהל הרשום. הדפס את מספר הספרים הסופי.

הפלט הצפוי:

A001 added "The Pragmatic Programmer"
A001 added "JavaScript: The Good Parts"
A001 added "Clean Code"
Total books: 3
Unauthorized
A001 removed "JavaScript: The Good Parts"
Total books: 2

נסו בעצמכם

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

void main() {
  // TODO: צרו Library
  
  // TODO: צרו ורשמו מנהל מערכת (A001, Sarah Admin)
  
  // TODO: השתמשו במנהל המערכת כדי להוסיף שלושה ספרים:
  // - 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
  
  // TODO: הדפיסו את מספר הספרים בפורמט "Total books: X"
  
  // TODO: נסו להוסיף ספר באמצעות מזהה מנהל מערכת A999 שאינו רשום
  
  // TODO: הסירו את הספר השני (978-0-596-51774-8) באמצעות מנהל המערכת הרשום
  
  // TODO: הדפיסו את מספר הספרים הסופי
}

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

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