إنشاء فئة أساسية تمثل الشخص، ثم إنشاء فئات مشتقة تمثل الطالب والمعلم، مع إضافة وظائف خاصة بكل نوع، مثل إدارة الدرجات للطالب وإدارة المواد للمعلم.
تفاصيل التنفيذ
فئة Person (الفئة الأساسية)
الخصائص:
name (الاسم)
address (العنوان)
Constructor لتهيئة البيانات
إعادة تعريف دالة toString() لعرض بيانات الشخص
فئة Student (ترث من Person)
تخزين المواد والدرجات باستخدام ArrayList
إضافة مادة مع درجتها عبر:
addCourseGrade()
طباعة جميع الدرجات عبر:
printGrades()
حساب المتوسط عبر:
getAverageGrades()
إعادة تعريف toString()
فئة Teacher (ترث من Person)
تخزين المواد التي يدرسها المعلم باستخدام ArrayList
إضافة مادة عبر:
addCourse() (مع منع التكرار)
حذف مادة عبر:
removeCourse()
فئة Main
إنشاء كائن Student وإضافة مواد ودرجات له
طباعة بيانات الطالب ومتوسط الدرجات
إنشاء كائن Teacher وإضافة مواد له
طباعة بيانات المعلم
المفاهيم المطبقة
Inheritance (الوراثة)
Encapsulation (التغليف)
Method Overriding
استخدام Collections (ArrayList)
التعامل مع الشروط والحلقات
حساب المتوسطات
مخرجات المشروع
برنامج يعمل عبر الـ Console يعرض بيانات الطالب والمعلم، مع إمكانية إدارة الدرجات والمواد بطريقة منظمة.