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

ملخص - العداد والأدوات المساعدة

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

challenge icon

التحدي

سهل

لنقم ببناء نظام كامل يجمع بين فئة Counter لتتبع المثيلات وفئة أدوات MathUtils - لدمج كل ما تعلمته حول المتغيرات الثابتة (static variables)، والأساليب الثابتة (static methods)، والكتل الثابتة (static blocks)، والثوابت (constants).

ستقوم بإنشاء ثلاثة ملفات لتنظيم الكود الخاص بك:

  • Counter.java: قم بإنشاء فئة تتبع عدد المثيلات التي تم إنشاؤها:
    • متغير ثابت خاص (private static variable) لعد إجمالي المثيلات
    • متغير مثيل خاص (private instance variable) باسم id يخزن المعرف الفريد لكل عداد
    • مشد (constructor) يقوم بزيادة العدد الإجمالي وتعيين العدد الحالي كـ id لهذا المثيل
    • أسلوب getId() يعيد المعرف الفريد لهذا العداد
    • أسلوب ثابت getTotalCount() يعيد عدد كائنات Counter التي تم إنشاؤها
  • MathUtils.java: قم بإنشاء فئة أدوات تحتوي فقط على أعضاء ثابتة (لا يتم إنشاؤها أبداً):
    • ثابت عام PI بقيمة 3.14159
    • ثابت عام HALF بقيمة 0.5
    • أسلوب ثابت square(int n) يعيد مربع n
    • أسلوب ثابت cube(int n) يعيد مكعب n
    • أسلوب ثابت circleArea(double radius) يعيد PI * radius * radius
  • Main.java: قم بتوضيح عمل الفئتين معاً. ستتلقى مدخلين: رقم للعمليات الحسابية وعدد لكائنات Counter المراد إنشاؤها. اطبع ما يلي:
    • Square: [value]
    • Cube: [value]
    • Circle area (radius=[number]): [value] (المساحة منسقة إلى منزلتين عشريتين)
    • لكل Counter يتم إنشاؤه، اطبع: Counter [id] created
    • أخيراً: Total counters: [count]

ستتلقى مدخلين: رقم (int) للحسابات الرياضية، وعدد (int) لعدد كائنات Counter المراد إنشاؤها.

تذكر الوصول إلى الأعضاء الثابتة من خلال اسم الفئة (مثل MathUtils.PI و Counter.getTotalCount())، واستخدم String.format("%.2f", value) لتنسيق القيم العشرية.

جرّب بنفسك

import java.util.Scanner;

class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int number = scanner.nextInt();
        int count = scanner.nextInt();
        
        // TODO: استخدم دوال MathUtils الـ static للحساب والطباعة:
        // - المربع: [value]
        // - المكعب: [value]
        // - مساحة الدائرة (radius=[number]): [value] (منسق إلى منزلتين عشريتين)
        
        // TODO: قم بإنشاء عدد 'count' من كائنات Counter
        // لكل Counter يتم إنشاؤه، اطبع: Counter [id] created
        
        // TODO: اطبع العدد الإجمالي للعدادات التي تم إنشاؤها
        // إجمالي العدادات: [count]
    }
}

جميع دروس Object Oriented Programming

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