Menu
Coddy logo textTech

Sistema di gestione universitaria

Fa parte della sezione Programmazione orientata agli oggetti del percorso JavaScript di Coddy. Lezione 55 di 56.

challenge icon

Sfida

In questa sfida, abbiamo un sistema universitario con diversi tipi di persone (studenti, professori) che hanno ruoli e comportamenti diversi.

1. Completa la classe Person:

  • Aggiungi il metodo introduce() che restituisce "Hi, I'm ${name}"

2. Completa la classe Student:

  • Sovrascrivi introduce() per restituire ${super.introduce()}, a ${this.major} student. Esempio: "Hi, I'm Alice, a Computer Science student"
  • Aggiungi il metodo addGrade(grade) che accetta un voto compreso tra 0 e 100
    • Convalida: verifica se il voto è compreso tra 0 e 100
    • Se valido: aggiungilo all'array this.grades
    • Se non valido: registra: "Grade must be between 0 and 100"

3. Completa la classe Professor:

  • Sovrascrivi introduce() per restituire “Prof. ${name} from ${department}”. Esempio: “Prof. Smith from Computer Science”

Provalo tu

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

// Crea persone
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); // Dovrebbe stampare: "Grade must be between 0 and 100"

Tutte le lezioni di Programmazione orientata agli oggetti

Esercitati da solo: Compilatore JavaScript online