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

تدرّب بنفسك: مترجم Java عبر الإنترنت