Menu
Coddy logo textTech

System zarządzania uczelnią

Część sekcji Programowanie obiektowe ścieżki JavaScript w Coddy. Lekcja 55 z 56.

challenge icon

Wyzwanie

W tym wyzwaniu mamy system uniwersytecki z różnymi typami osób (studentami, profesorami), które pełnią różne role i zachowują się w różny sposób.

1. Uzupełnij klasę Person:

  • Dodaj metodę introduce(), która zwraca "Hi, I'm ${name}"

2. Uzupełnij klasę Student:

  • Zastąp metodę introduce(), tak aby zwracała ${super.introduce()}, a ${this.major} student. Przykład: "Hi, I'm Alice, a Computer Science student"
  • Dodaj metodę addGrade(grade), która przyjmuje ocenę z zakresu od 0 do 100
    • Walidacja: Sprawdź, czy ocena mieści się w zakresie od 0 do 100
    • Jeśli ocena jest prawidłowa: Dodaj ją do tablicy this.grades
    • Jeśli ocena jest nieprawidłowa: Wyświetl komunikat: "Grade must be between 0 and 100"

3. Uzupełnij klasę Professor:

  • Zastąp metodę introduce(), tak aby zwracała “Prof. ${name} from ${department}”. Przykład: “Prof. Smith from Computer Science”

Spróbuj swoich sił

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

// Utwórz osoby
const student1 = new Student('Alice', 20, 'Computer Science');
const prof1 = new Professor('Dr. Johnson', 50, 'Mathematics');

console.log(student1.introduce()); // "Hi, I'm Alice, a Computer Science student"
console.log(prof1.introduce())     // "Prof. Dr. Johnson from Mathematics"

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

student1.addGrade(105); // Powinno wypisać: "Grade must be between 0 and 100"

Wszystkie lekcje w sekcji Programowanie obiektowe

Poćwicz samodzielnie: Kompilator JavaScript online