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