GL
├─ src/main/java
│ ├─ GL/ # General configurations (color constants, etc.)
│ │ └─ GL.java
│ ├─ TP1/
│ │ ├─ EX1/ EX2/ ... # Each exercise in its own folder
│ │ │ ├─ base/ # Core classes for the exercise (models / logic)
│ │ │ ├─ Exec.java # Exercise execution (demo + explanation)
│ │ │ └─ Tester.java # Main entry point
│ │ ├─ Exec.java # (Optional) TP-level executor
│ │ └─ Tester.java
│ └─ UTILS/ # Utility classes shared across the project
│ ├─ EX.java
│ ├─ EXEC.java
│ ├─ TP.java
│ ├─ AuthorInfo.java
│ └─ ObjectiveAction.java
├─ TPs/ # PDF files for theory assignments
├─ LICENSE
└─ pom.xml # Maven configuration
-
base/in each EXn Contains the core logic and model classes for the exercise (e.g.,Animal,Bird,Mammal). These represent the OOP concept being practiced. -
Exec.java(in each EXn) Demonstrates the exercise by creating objects, calling methods, and printing outputs — a practical example of the topic. -
Tester.java(in each EXn) Main entry point to run the exercise. Example:package TP1; import UTILS.AuthorInfo; public class Tester { public static void main(String[] args) { new AuthorInfo(); Exec exec = new Exec(); exec.run(); } }
-
UTILS/EX.javaRepresents a single exercise with an ID, title, and runnable action. Helps organize and execute exercises programmatically. -
Other
UTILSfiles Contain shared helpers, interfaces, and author info.TP.java: groups multiple exercises.EXEC.java: defines a unified execution interface.AuthorInfo.java: displays author metadata.
-
From IDE (VS Code / IntelliJ)
- Open the project as a Maven project.
- Navigate to
.../TP1/EX5/Tester.java(or any EXn). - Run the
mainmethod.
-
From Terminal Example to run EX5:
mvn -q -Dexec.mainClass="TP1.EX5.Tester" compile exec:java(Ensure the package path is correct.)
- Keep logical implementation inside
base/. UseExec.javaonly for demonstrations and output. - Use
EX.javaandTP.javato automatically organize exercises. - Keep
AuthorInfo.javato display author details upon execution.
- The structure is modular — each exercise is self-contained.
UTILSprovides a common framework for organization and execution.- To run: open the desired
Tester.javaor use the provided Maven command.
GL
├─ src/main/java
│ ├─ GL/ # إعدادات عامة (ثوابت ألوان... الخ)
│ │ └─ GL.java
│ ├─ TP1/
│ │ ├─ EX1/ EX2/ ... # كل تمرين في مجلد منفصل
│ │ │ ├─ base/ # الفئات الأساسية للتمرين (models / classes)
│ │ │ ├─ Exec.java # تنفيذ التمرين (عرض + أمثلة)
│ │ │ └─ Tester.java # نقطة التشغيل (main) للتمرين
│ │ ├─ Exec.java # (اختياري) تجميع/مساعدة على مستوى TP1
│ │ └─ Tester.java
│ └─ UTILS/ # أدوات ومُعرّفات تُستخدم عبر المشروع
│ ├─ EX.java
│ ├─ EXEC.java
│ ├─ TP.java
│ ├─ AuthorInfo.java
│ └─ ObjectiveAction.java
├─ TPs/ # ملفات PDF للتمارين النظرية
├─ LICENSE
└─ pom.xml # إعداد Maven
-
base/داخل كل EXn يحتوي على الكلاسات التي تمثل منطق التمرين (مثلAnimal,Bird,Mammal...). تمثل هذه الملفات الجانب النظري والتطبيقي للبرمجة الكائنية. -
Exec.java(في كل EXn) يحتوي على الكود التنفيذي الذي يوضح فكرة التمرين عمليًا (إنشاء كائنات، استدعاء الدوال، عرض النتائج). -
Tester.java(في كل EXn) نقطة التشغيل الرئيسية لتجربة الكود. مثال قياسي:package TP1; import UTILS.AuthorInfo; public class Tester { public static void main(String[] args) { new AuthorInfo(); Exec exec = new Exec(); exec.run(); } }
-
UTILS/EX.javaفئة مساعدة تمثل تمرينًا واحدًا (رقم، عنوان، وإجراءRunnable)، تُستخدم لتنظيم وتشغيل التمارين. -
باقي ملفات
UTILSتشمل أدوات التنسيق، تعريف الواجهات، وعرض معلومات المؤلف. مثلًا:TP.javaلإدارة مجموعة تمارين.EXEC.javaلفرض واجهة تنفيذ موحّدة.AuthorInfo.javaلطباعة بيانات المؤلف.
-
من داخل IDE (VS Code / IntelliJ)
- افتح المشروع كمشروع Maven.
- انتقل إلى الملف
.../TP1/EX5/Tester.java(أو أي تمرين آخر). - اضغط Run على
main.
-
من الطرفية (Terminal) لتشغيل تمرين محدد (مثلاً EX5):
mvn -q -Dexec.mainClass="TP1.EX5.Tester" compile exec:java(تأكد من مطابقة أسماء الحزم.)
- احصر منطق الكود داخل
base/فقط. الطباعة والعروض التوضيحية ضعها فيExec.java. - استخدم
EX.javaوTP.javaلتوليد قائمة التمارين تلقائيًا. - احتفظ بـ
AuthorInfo.javaلعرض معلومات المطوّر عند التشغيل.
- كل تمرين مستقل بذاته في مجلد فرعي منظم.
UTILSيوفر أساسًا مرنًا لإدارة التمارين.- للتشغيل: افتح
Tester.javaأو استخدم أمر Maven أعلاه.