1
resposta

Classe abstrata "workaround"

Eu dei uma pesquisada em como poderia criar uma classe abstrata, e vi uma solução que achei interessante. Baseando-se no código do curso, ficaria assim:

class View {
    constructor(elemento) {

        if(this.constructor === View) throw new Error("Classe View não pode ser instanciada diretamente");

        this._elemento = elemento;

    }

    //Outros métodos
}

O "if" checa se o objeto é estritamente da classe View e lança um erro caso afirmativo, impedindo a instanciação da classe. Eu testei com o projeto do curso, e aparentemente funcionou sem problemas, mesmo sem implementar o construtor nas classes filhas.

Tem alguma coisa que impede de usar uma alternativa como esta? O que pode impactar?

1 resposta

Fala ai Victor, tudo bem? Parabéns pela busca e solução, muito bom ir além do conteúdo passado no curso.

Abraços e bons estudos.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software