1. الهيكل العام للكود
يتكون الكود من فئتين (Classes):
الفئة الأساسية (Base Class): تسمى CollegeCourse وتتعامل مع الدورات العادية.
الفئة المشتقة (Derived Class): تسمى LabCourse وتتعامل مع الدورات التي تتضمن مختبرات (معامل).
2. تفاصيل الفئات (Classes)
أولاً: الفئة CollegeCourse (الدورة العادية)
هذه الفئة تحتوي على البيانات الأساسية لأي مادة دراسية:
المتغيرات الخاصة: القسم (Department)، رقم المادة (Course Number)، الساعات المعتمدة (Credit Hours)، والرسوم الدراسية (Tuition).
المُنشئ (Constructor): يقوم باستقبال البيانات وتخزينها في المتغيرات عند إنشاء كائن (Object) جديد.
دالة العرض display(): تقوم بطباعة كافة تفاصيل المادة بشكل منظم على الشاشة.
ثانياً: الفئة LabCourse (دورة المختبر)
هذه الفئة "ترث" كل خصائص الفئة السابقة وتضيف عليها ميزات خاصة بالمختبرات:
المتغير الخاص: رسوم المختبر (labFee).
المُنشئ: يقوم باستدعاء منشئ الفئة الأساسية لتعبئة البيانات العامة، ثم يضيف قيمة رسوم المختبر الخاصة به.
دالة العرض display() المطورة: * تقوم أولاً باستدعاء دالة العرض من الفئة الأساسية لطباعة البيانات العامة.
ثم تضيف طباعة رسوم المختبر.
ملاحظة تقنية: في السطر 43، يحاول الكود جمع رسوم المختبر مع الرسوم الدراسية لإظهار التكلفة الإجمالية.
3. وظيفة الدالة الرئيسية main()
عند تشغيل البرنامج، يقوم بما يلي:
إنشاء مادة عادية: ينشئ كائنًا باسم c1 لقسم الحاسب الآلي ("CS") برقم 101 و3 ساعات معتمدة ورسوم 1500، ثم يعرض بياناتها.
إنشاء مادة مختبر: ينشئ كائنًا باسم l1 لقسم الأحياء ("BIO") برقم 210 و4 ساعات معتمدة ورسوم 2000، بالإضافة إلى 300 كرسوم مختبر، ثم يعرض البيانات كاملة مع حساب التكلفة الإجمالية.