نظام إدارة الجامعات
جزء من قسم 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 والتصديروراثة فئة Circleإعادة التعريف ودالة المساحةعداد الأشكال Static9الخصائص والدوال الثابتة (Static)
مستوى الكلاس مقابل مستوى الكائنالخصائص الثابتة (Static Properties)دوال المساعدة الثابتة (Static Utility Methods)تحدي المراجعة12Getters و Setters
الكلمات المفتاحية get و setالخصائص المحسوبةالتحقق من الصحة والآثار الجانبيةتحدي المراجعة15التحديات النهائية
منشئ شخصيات الألعابنظام منتجات التجارة الإلكترونيةنظام إدارة الجامعاتنظام أجهزة المنزل الذكيتدرّب بنفسك: مترجم JavaScript عبر الإنترنت