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!