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

Pratique por conta própria: Compilador de JavaScript online