Menu
Coddy logo textTech

Система управления университетом

Часть раздела Объектно-ориентированное программирование путешествия по JavaScript на Coddy — урок 55 из 56.

challenge icon

Задание

В этом испытании у нас есть университетская система с различными типами людей (студенты, профессора), которые имеют разные роли и поведение.

1. Дополните класс Person:

  • Добавьте метод introduce(), возвращающий "Hi, I'm ${name}"

2. Дополните класс Student:

  • Переопределите introduce(), чтобы он возвращал ${super.introduce()}, a ${this.major} student. Пример: "Hi, I'm Alice, a Computer Science student"
  • Добавьте метод addGrade(grade), который принимает оценку от 0 до 100
    • Валидация: Проверьте, находится ли оценка в диапазоне от 0 до 100
    • Если валидна: Добавьте её в массив this.grades
    • Если невалидна: Выведите в лог: "Grade must be between 0 and 100"

3. Дополните класс Professor:

  • Переопределите 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"

Все уроки раздела Объектно-ориентированное программирование