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 têm diferentes funções e comportamentos.

1. Complete a classe Person:

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

2. Complete a classe Student:

  • Substitua 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-a ao array this.grades
    • Se for inválida: registre: "Grade must be between 0 and 100"

3. Complete a classe Professor:

  • Substitua 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

Pratique por conta própria: Compilador de JavaScript online