Menu
Coddy logo textTech
flag Ar iconالعربيةdown icon

نظرة عامة على المشروع وتصميم UML

جزء من قسم Object Oriented Programming في رحلة Java على Coddy — الدرس 77 من 87.

challenge icon

التحدي

سهل

لنبدأ مشروع نظام إدارة المكتبة من خلال بناء الأساس - فئات الكيانات الأساسية التي سيعتمد عليها كل شيء آخر. يركز هذا التحدي الأول على إنشاء فئات Book و User منظمة بشكل جيد لتمثيل الكيانات الأساسية للنظام.

ستقوم بتنظيم الكود الخاص بك عبر ثلاثة ملفات:

  • Book.java: قم بإنشاء فئة Book التي تمثل كتاباً في المكتبة. يجب أن يحتوي كل كتاب على حقول خاصة (private fields) لـ isbn (String)، و title (String)، و author (String)، و isAvailable (boolean، بقيمة افتراضية true). قم بتضمين منشئ (constructor) يقبل isbn و title و author. وفر طرق جلب (getter methods) مناسبة لجميع الحقول، وطريقة تعيين (setter) لـ isAvailable. أضف طريقة getDetails() التي تعيد سلسلة نصية منسقة: [isbn] title by author.
  • User.java: قم بإنشاء فئة User التي تمثل عضواً في المكتبة. يجب أن يحتوي كل مستخدم على حقول خاصة لـ id (String) و name (String). قم بتضمين منشئ يقبل كلتا القيمتين، ووفر طرق جلب (getter methods) لكل حقل. أضف طريقة 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()
    }
}

جميع دروس Object Oriented Programming