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

Practica por tu cuenta: Compilador de JavaScript online