Menu
Coddy logo textTech

סקירת הפרויקט ותכנון UML

חלק מהיחידה תכנות מונחה עצמים במסלול ה-Java של Coddy. שיעור 77 מתוך 87.

challenge icon

אתגר

קל

בואו נתחיל את פרויקט מערכת ניהול הספרייה בבניית הבסיס: מחלקות הישויות המרכזיות שעליהן יתבסס כל השאר. האתגר הראשון מתמקד ביצירת מחלקות Book ו-User בעלות מבנה טוב, שמייצגות את הישויות המרכזיות של המערכת.

תארגן את הקוד שלך בשלושה קבצים:

  • Book.java: צור את המחלקה Book שמייצגת ספר בספרייה. לכל ספר צריכים להיות שדות פרטיים עבור isbn (String), title (String), author (String) ו-isAvailable (boolean, שערך ברירת המחדל שלו הוא true). כלול בנאי שמקבל isbn, title ו-author. ספק שיטות getter מתאימות לכל השדות, וגם setter עבור isAvailable. הוסף שיטה getDetails() שמחזירה מחרוזת מעוצבת: [isbn] title by author.
  • User.java: צור את המחלקה User שמייצגת חבר בספרייה. לכל משתמש צריכים להיות שדות פרטיים עבור id (String) ו-name (String). כלול בנאי שמקבל את שני הערכים, וספק שיטות getter לכל שדה. הוסף שיטה toString() שמחזירה: User[id]: name.
  • Main.java: חבר את המחלקות שלך כדי להדגים שהן פועלות כראוי. תקבל חמש קלטים: ISBN, כותרת הספר, מחבר הספר, ולאחר מכן מזהה המשתמש ושמו.

    צור Book באמצעות שלושת הקלטים הראשונים ו-User באמצעות שני הקלטים האחרונים. הדפס את פרטי הספר באמצעות getDetails(), ולאחר מכן הדפס אם הספר זמין בפורמט Available: true או Available: false. לבסוף, הדפס את המשתמש באמצעות שיטת toString() שלו.

תקבל חמישה קלטים לפי הסדר: ISBN (String), כותרת (String), מחבר (String), מזהה משתמש (String) ושם משתמש (String).

לדוגמה, עבור הקלטים 978-0-13-468599-1, Effective Java, Joshua Bloch, U001 ו-Alice Smith, הפלט שלך יהיה:

[978-0-13-468599-1] Effective Java by Joshua Bloch
Available: true
User[U001]: Alice Smith

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

נסו בעצמכם

import java.util.Scanner;

class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        
        // קראו את פרטי הספר
        String isbn = scanner.nextLine();
        String title = scanner.nextLine();
        String author = scanner.nextLine();
        
        // קראו את פרטי המשתמש
        String userId = scanner.nextLine();
        String userName = scanner.nextLine();
        
        // TODO: צרו אובייקט Book עם isbn, title ו-author
        
        // TODO: צרו אובייקט User עם userId ו-userName
        
        // TODO: הדפיסו את פרטי הספר באמצעות getDetails()
        
        // TODO: הדפיסו אם הספר זמין (פורמט: "Available: true" או "Available: false")
        
        // TODO: הדפיסו את המשתמש באמצעות toString()
    }
}

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

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