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.
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!