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.
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
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.
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!