Falta pouco!

0 dias

0 horas

0 min

0 seg

1
resposta

Minhas classes User, Admin e Docente

export default class User {

    constructor(nome, email, nascimento, role, ativo = "true") {
        this.nome = nome;
        this.email = email;
        this.nascimento = nascimento;
        this.role = role;
        this.ativo = ativo;
    }

    criarPerfil() {
        return `${this.nome}, bem vind@! `;
    };

    apagarPerfil() {
        return `${this.nome}, seu perfil foi apagado com sucesso!`;
    };

    exibirInfos() {
        return `Nome: ${this.nome}
Email: ${this.email}
Nascimento: ${this.nascimento}`
    };

    matricularEmCurso(curso) {
        return `Agora, ${this.nome} está matriculado no curso ${curso}.`;
    };

    exibirCursosMatriculados(cursos) {
        return `${this.nome} está matriculad@ nos seguintes cursos: [${cursos.join(', ')}]`;
    };
}

const novoUsuario = new User("Jaqueline", "j@jaqueline.com", "2001-01-02", "estudante");
console.log(novoUsuario);

console.log(novoUsuario.criarPerfil());
console.log(novoUsuario.apagarPerfil());
console.log(novoUsuario.exibirInfos());
console.log(novoUsuario.matricularEmCurso('JAVASCRIPT: programação orientada a objetos'));
console.log(novoUsuario.exibirCursosMatriculados(['JAVASCRIPT: programação orientada a objetos', 'JAVASCRIPT: conhecendo objetos', 'JAVASCRIPT: conhecendo arrays']));

import User from "./User.js";

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

    criarPerfil() {
        return `${this.nome}, bem vind@! `
    };

    criarCurso(nomeCurso, qtdAlunos) {
        return `${nomeCurso} foi cadastrado com sucesso. Possui ${qtdAlunos} cadastrado(s).`
    }

    excluirCurso(nomeCurso) {
        return `[${nomeCurso}] foi excluído do catálogo de cursos com sucesso!`
    }

    desativarPerfil(estudante) {
        return `${estudante} teve o perfil desativado com sucesso! Responsável: ${this.name}`
    }
}

const novoAdmin = new Admin("Maxine", "m@maxine.com", "2003-06-02");
console.log(novoAdmin);

console.log(novoAdmin.criarPerfil());
console.log(novoAdmin.criarCurso('Node.js: criando sua primeira biblioteca', 23));
console.log(novoAdmin.excluirCurso('Node.js: criando sua primeira biblioteca'))
console.log(novoAdmin.desativarPerfil('Jonas'));

import User from './User.js';

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

    criarPerfil() {
        return `${this.nome}, bem vind@!`;
    };

    aprovarEstudante(estudante) {
        return `${estudante} foi aprovado!`;
    }

    reprovarEstudante(estudante) {
        return `${estudante} foi reprovado!`;
    }
}

const novoDocente = new Docente("Mariana", "m@mariana.com", "2000-01-01");
console.log(novoDocente);

console.log(novoDocente.criarPerfil());
console.log(novoDocente.aprovarEstudante('Jacob'));
console.log(novoDocente.reprovarEstudante('Jonas'));
1 resposta

Oi, Maxine! Como vai?

Agradeço por compartilhar.

Gostei muito da forma como você estruturou suas classes User, Admin e Docente. Você aplicou bem os conceitos de herança e conseguiu organizar métodos específicos para cada tipo de usuário, o que deixa o código mais claro e reaproveitável.

Continue explorando esses recursos, pois eles são fundamentais para projetos maiores.

Conteúdos relacionados
Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!