1
resposta

Pq usou o método static aqui?

Olá, professor! Poderia dizer pq você decidiu usar "static" no metodo "loguin" ? Curso de: JavaScript: Interfaces e Herança em Orientação a Objetos na aula de polimorfismo.

1 resposta

Oi Carlos!

Um métodostatic pode ser executado sem a necessidade de instanciar um objeto. Basicamente, não precisa usar a palavra reservada new.

Por exemplo, métodos não estáticos, como cadastrarSenha() em Funcionário, necessitam que um objeto seja instanciado primeiro:

// funciona
const diretor = new Diretor("Rodrigo", 10000, 12345678);
diretor.cadastrarSenha("123");

// não funciona
Diretor("Rodrigo", 10000, 12345678).cadatrarSenha("123").

Em outras palavras: o método cadastrarSenha() é chamado pelo objeto.

Já metodos static como login(), funcionam desta maneira:

const estaLogado = SistemaAutenticacao.login(diretor, "123")

Note que não há um objeto sistemaAutenticacao. O método é chamado diretamente pela classe.

Espero ter ajudado! Qualquer outra dúvida pode postar aqui!