Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

[Sugestão] Exercício de adicionar métodos

Segue o código para o adicionar métodos, que é o que a insturtora chamou de Docente.js. O arquivo de User.js permance idêntico ao dela, mas fiz mudanças no Admin.js e Docente.js. Queria autenticar o User a partir de seu role. No Docengte.js, também queria autenticar os cursos em si com um exemplo. Seguem as mudanças:

import User from "./User.js"

class Admin extends User {
  constructor(nome, email, nascimento, role = "admin", ativo = true) {
    super(nome, email, nascimento, role, ativo)
  }

  isAdmin() {
    return this.role === "admin"
  }

  criarCurso(nomeDoCurso, vagas) {
    return this.isAdmin()
      ? `Curso de ${nomeDoCurso} criado com ${vagas} vagas.`
      : "Acesso negado. Jogue dum penhasco"
  }
}

const novoAdmin = new Admin("Rodrigo", "r@r.com", "2021-01-01")
const novoAdmin2 = new Admin("Alan", "a@a.com", "2021-01-01", "estudante")
console.log(novoAdmin.criarCurso("JS", "20"))
console.log(novoAdmin2)
console.log(novoAdmin2.criarCurso("Python", "20"))
import User from "./User.js"

class Docente extends User {
  constructor(nome, email, nascimento, role = "docente", ativo = true) {
    super(nome, email, nascimento, role, ativo)
  }

  isDocente() {
    return this.role === "docente"
  }

  aprovaEstudante(estudante, curso) {
    if (curso === "Língua da Chacota") {
      return `Não trabalhamos com o curso de ${curso}, man.`
    }

    return this.isDocente()
      ? `Estudante ${estudante} aprovado no curso de ${curso}.`
      : `Rápido! Leve ${this.nome} aos leões, é impostor!`
  }
}

const novoDocente = new Docente("Mariana", "m@m.com", "2021-01-01")
console.log(novoDocente)
console.log(novoDocente.exibirInfos())
console.log(novoDocente.aprovaEstudante("Juliana", "Ruby"))

const novoDocente2 = new Docente("Thiago", "t@t.com", "2000-09-09", "aluno")
console.log(novoDocente2)
console.log(novoDocente2.exibirInfos())
console.log(novoDocente2.aprovaEstudante("Juliana", "Ruby"))

const novoDocente3 = new Docente("Monja", "monga@cohen.com", "893-08-18")
console.log(novoDocente3)
console.log(novoDocente3.exibirInfos())
console.log(novoDocente3.aprovaEstudante("Claudia", "Scala"))

const novoDocente4 = new Docente("Mano", "mano@brown", "1974-05-05")
console.log(novoDocente4)
console.log(novoDocente4.exibirInfos())
console.log(novoDocente4.aprovaEstudante("Fulano", "Língua da Chacota"))
1 resposta
solução!

Olá Rafael, tudo bem?

Gostei da sua iniciativa de fazer mudanças no código da atividade da aula, isso é muito importante para fixar melhor o conteúdo passado. Espero que continue assim.

Caso durante os seus estudos você tenha dúvidas ou problemas, recorra ao fórum, estaremos à disposição para ajudá-lo.

Grande abraço e bons estudos!