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

[Sugestão] Sobre o método abstrato.

Em JavaScript, os métodos abstratos são métodos que são declarados sem implementação, ou seja, eles não contêm nenhum código. Eles são usados para definir uma estrutura ou um contrato que as classes filhas devem seguir, implementando esses métodos. Por exemplo, digamos que você tenha uma classe Animal e queira criar uma subclasse chamada Mamífero. Para garantir que todos os Mamíferos tenham um método amamentar(), você pode definir um método abstrato na classe Animal:

class Animal { // Método abstrato amamentar() { throw new Error("O método amamentar deve ser implementado."); } } class Mamifero extends Animal { // Implementação do método amamentar amamentar() { console.log("O mamífero está amamentando."); } }

Observe que na classe Animal, o método amamentar() é definido, mas não é implementado. Em vez disso, ele lança um erro, forçando as classes filhas a implementá-lo. Na classe Mamifero, o método amamentar() é implementado e a mensagem "O mamífero está amamentando" é impressa no console. Dessa forma, é possível garantir que todas as classes que herdam da classe Animal implementem o método amamentar(), evitando erros ou comportamentos inesperados no seu código.

1 resposta
solução!

Oi Jefferson, tudo bem?

Realmente, em JavaScript, os métodos abstratos são muito úteis para garantir que as classes filhas sigam uma estrutura ou contrato definido na classe pai. Eles são uma forma de garantir que todas as classes filhas tenham implementado um determinado método, evitando erros ou comportamentos inesperados no seu código.

O exemplo que você deu, com a classe Animal e a subclasse Mamífero, é muito bom para ilustrar como os métodos abstratos funcionam na prática. Com isso, você pode garantir que todos os Mamíferos tenham o método amamentar() implementado, sem precisar se preocupar com isso em cada subclasse.

Um abraço 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