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

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

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

challenge icon

التحدي

سهل

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

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

  • Book.java: قم بإنشاء فئة Book التي تمثل كتاباً في المكتبة. يجب أن يحتوي كل كتاب على حقول خاصة (private) لـ 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). قم بتضمين منشئ يقبل كلتا القيمتين، ووفر طرق جلب لكل حقل. أضف طريقة toString() التي تعيد: User[id]: name.
  • Main.java: اجمع فئاتك معاً لإثبات أنها تعمل بشكل صحيح. ستتلقى أربعة مدخلات: ISBN الخاص بالكتاب، وعنوانه، ومؤلفه، ثم معرف المستخدم واسمه.

    قم بإنشاء Book باستخدام المدخلات الثلاثة الأولى و User باستخدام المدخلين الأخيرين. اطبع تفاصيل الكتاب باستخدام getDetails()، ثم اطبع ما إذا كان الكتاب متاحاً بالتنسيق Available: true أو Available: false. أخيراً، اطبع المستخدم باستخدام طريقة toString() الخاصة به.

ستتلقى خمسة مدخلات بالترتيب: ISBN (String)، و title (String)، و author (String)، و user ID (String)، و user name (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