Menu
Coddy logo textTech

Système de gestion universitaire

Fait partie de la section Programmation Orientée Objet du Journey JavaScript de Coddy — leçon 55 sur 56.

challenge icon

Défi

Dans ce défi, nous avons un système universitaire avec différents types de personnes (étudiants, professeurs) qui ont des rôles et des comportements différents.

1. Complétez la classe Person :

  • Ajoutez la méthode introduce() retournant "Hi, I'm ${name}"

2. Complétez la classe Student :

  • Surchargez introduce() pour retourner ${super.introduce()}, a ${this.major} student. Exemple : "Hi, I'm Alice, a Computer Science student"
  • Ajoutez la méthode addGrade(grade) qui prend une note entre 0 et 100
    • Validation : Vérifiez si la note est comprise entre 0 et 100
    • Si valide : Ajoutez-la au tableau this.grades
    • Si invalide : Affichez dans la console : "Grade must be between 0 and 100"

3. Complétez la classe Professor :

  • Surchargez introduce() pour retourner “Prof. ${name} from ${department}”. Exemple : “Prof. Smith from Computer Science”

Essayez vous-même

import { Person } from './person.js';
import { Student } from './student.js';
import { Professor } from './professor.js';

// Créer des personnes
const student1 = new Student('Alice', 20, 'Computer Science');
const prof1 = new Professor('Dr. Johnson', 50, 'Mathematics');

console.log(student1.introduce()); // "Salut, je suis Alice, une étudiante en informatique"
console.log(prof1.introduce())     // "Prof. Dr. Johnson du département de mathématiques"

student1.addGrade(85);
student1.addGrade(90);
student1.addGrade(95);
console.log(`${student1.name}'s GPA: ${student1.getGPA()}`); // ~3.6

student1.addGrade(105); // Devrait afficher : "La note doit être comprise entre 0 et 100"

Toutes les leçons de Programmation Orientée Objet