Menu
Coddy logo textTech

Sistema de gestión universitaria

Parte de la sección Programación Orientada a Objetos del Journey de JavaScript de Coddy — lección 55 de 56.

challenge icon

Desafío

En este desafío, tenemos un sistema universitario con diferentes tipos de personas (estudiantes, profesores) que tienen diferentes roles y comportamientos.

1. Completa la clase Person:

  • Añade el método introduce() que devuelva "Hi, I'm ${name}"

2. Completa la clase Student:

  • Sobrescribe introduce() para que devuelva ${super.introduce()}, a ${this.major} student. Ejemplo: "Hi, I'm Alice, a Computer Science student"
  • Añade el método addGrade(grade) que reciba una calificación entre 0 y 100
    • Validación: Comprueba si la calificación está entre 0 y 100
    • Si es válida: Añádela al array this.grades
    • Si no es válida: Muestra en consola: "Grade must be between 0 and 100"

3. Completa la clase Professor:

  • Sobrescribe introduce() para que devuelva “Prof. ${name} from ${department}”. Ejemplo: “Prof. Smith from Computer Science”

Pruébalo tú mismo

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

// Crear personas
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); // Debería registrar: "Grade must be between 0 and 100"

Todas las lecciones de Programación Orientada a Objetos