Menu
Coddy logo textTech

Sistema de Gestão Universitária

Parte da seção Programação Orientada a Objetos do Journey de JavaScript da Coddy — lição 55 de 56.

challenge icon

Desafio

Neste desafio, temos um sistema universitário com diferentes tipos de pessoas (estudantes, professores) que possuem diferentes papéis e comportamentos.

1. Complete a classe Person:

  • Adicione o método introduce() retornando "Hi, I'm ${name}"

2. Complete a classe Student:

  • Sobrescreva introduce() para retornar ${super.introduce()}, a ${this.major} student. Exemplo: "Hi, I'm Alice, a Computer Science student"
  • Adicione o método addGrade(grade) que recebe uma nota entre 0 e 100
    • Validação: Verifique se a nota está entre 0 e 100
    • Se for válida: Adicione ao array this.grades
    • Se for inválida: Registre no log: "Grade must be between 0 and 100"

3. Complete a classe Professor:

  • Sobrescreva introduce() para retornar “Prof. ${name} from ${department}”. Exemplo: “Prof. Smith from Computer Science”

Experimente você mesmo

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

// Criar pessoas
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); // Deve registrar: "Grade must be between 0 and 100"

Todas as lições de Programação Orientada a Objetos