استخدام البرمجة كائنية التوجه (OOP)

تفاصيل العمل

1. الوراثة (Inheritance)

​هذا هو المبدأ الأساسي الواضح في مشروعك. تم تقسيم النظام إلى طبقات:

​الكلاس الأساسي (Superclass): هو كلاس Person الذي يحتوي على الخصائص العامة المشتركة بين أي فرد في المنظومة مثل (الاسم name والعنوان address).

​الكلاسات المشتقة (Subclasses): * كلاس Student: يرث من Person ويضيف خصائص متعلقة بالطالب مثل مصفوفة الدرجات والقدرة على حساب المتوسط.

​كلاس Teacher: يرث أيضاً من Person ويضيف خصائص متعلقة بالمدرس مثل مصفوفة المواد التي يدرسها والقدرة على إضافة أو حذف المواد.

​2. التغليف (Encapsulation)

​يظهر التغليف في كيفية حماية البيانات داخل الكلاسات:

​المتغيرات (Attributes) غالباً ما تكون private لضمان عدم التلاعب بها مباشرة من خارج الكلاس.

​استخدام دوال الـ Getters والـ Setters للوصول للبيانات أو تعديلها.

​إضافة منطق (Logic) داخل الدوال، مثل التأكد من عدم إضافة مادة مكررة للمدرس (Add Math again: false)، وهذا يمنع الوصول العشوائي للبيانات.

​3. تعدد الأشكال (Polymorphism)

​يظهر هذا المبدأ في إعادة تعريف الدوال (Overriding):

​دالة toString(): تم عمل Override لها في كل كلاس (Person, Student, Teacher) لتعطي وصفاً مخصصاً لكل كائن عند طباعته، كما يظهر في مخرجات الكونسول لديك (مثلاً ظهور كلمة Student متبوعة ببيانات الشخص).

​مكونات المشروع البرمجية (System Components)

المميزات التقنية التي نفذتها في الكود:

​Validations: الكود يتأكد من نجاح أو فشل العملية (مثل Remove Chemistry: false) مما يعني وجود فحص داخلي للمصفوفات.

​Composition/Relationship: تظهر العلاقة القوية في المخرجات حيث أن الـ Student "هو" Person (Is-A Relationship).

بطاقة العمل

اسم المستقل
عدد الإعجابات
0
عدد المشاهدات
1
تاريخ الإضافة
تاريخ الإنجاز
المهارات