نظام إدارة الجامعات
جزء من قسم Object Oriented Programming في رحلة JavaScript على Coddy — الدرس 55 من 56.
التحدي
في هذا التحدي، لدينا نظام جامعي يضم أنواعاً مختلفة من الأشخاص (طلاب، أساتذة) لديهم أدوار وسلوكيات مختلفة.
1. أكمل فئة Person:
- أضف طريقة
introduce()التي تعيد"Hi, I'm ${name}"
2. أكمل فئة Student:
- قم بعمل Override للطريقة
introduce()لتعيد${super.introduce()}, a ${this.major} student. مثال: "Hi, I'm Alice, a Computer Science student" - أضف طريقة
addGrade(grade)التي تأخذ درجة بين 0 و 100- التحقق (Validation): تحقق مما إذا كانت الدرجة بين 0 و 100
- إذا كانت صالحة: أضفها إلى مصفوفة
this.grades - إذا كانت غير صالحة: قم بتسجيل (Log):
"Grade must be between 0 and 100"
3. أكمل فئة Professor:
- قم بعمل Override للطريقة
introduce()لتعيد“Prof. ${name} from ${department}”. مثال: “Prof. Smith from Computer Science”
جرّب بنفسك
import { Person } from './person.js';
import { Student } from './student.js';
import { Professor } from './professor.js';
// إنشاء الأشخاص
const student1 = new Student('Alice', 20, 'Computer Science');
const prof1 = new Professor('Dr. Johnson', 50, 'Mathematics');
console.log(student1.introduce()); // "مرحباً، أنا أليس، طالبة في علوم الحاسوب"
console.log(prof1.introduce()) // "الأستاذ د. جونسون من قسم الرياضيات"
student1.addGrade(85);
student1.addGrade(90);
student1.addGrade(95);
console.log(`${student1.name}'s GPA: ${student1.getGPA()}`); // ~3.6
student1.addGrade(105); // يجب أن يسجل: "يجب أن تكون الدرجة بين 0 و 100"جميع دروس Object Oriented Programming
1الكائنات والكلمة المفتاحية this
مراجعة سريعة: الكائناتإضافة Methods إلى الكائناتفهم الكلمة المفتاحية thisConstructor Functionsالكلمة المفتاحية newتحدي المراجعة7الوراثة والكلمة المفتاحية extends
الوراثةعلاقة "is-a"الكلمة المفتاحية extendsالدالة super()وراثة الخصائص والوظائفتحدي المراجعة2تنظيم الكود
ما هي الـ Modules؟التصدير باستخدام exportالاستيراد باستخدام importالـ Default مقابل الـ Named Exports8تنظيم كود OOP
تنظيم الـ Classes في Modules11مشروع: مصيّر الأشكال
إعداد: فئة Shape والتصديروراثة فئة Circle9الخصائص والدوال الثابتة (Static)
مستوى الكلاس مقابل مستوى الكائنالخصائص الثابتة (Static Properties)دوال المساعدة الثابتة (Static Utility Methods)تحدي المراجعة12Getters و Setters
الكلمات المفتاحية get و setالخصائص المحسوبةالتحقق من الصحة والآثار الجانبيةتحدي المراجعة15التحديات النهائية
منشئ شخصيات الألعابنظام منتجات التجارة الإلكترونيةنظام إدارة الجامعاتنظام أجهزة المنزل الذكي