fiquei com uma dúvida aqui :
Classes abstratas nunca são instanciadas certo?
Então por que eu posso usar a referência this para atributos e métodos desta classe abstrata ? O this faz referência ao objeto já instanciado ou não é bem assim ?
abstractclassFuncionario{protecteddoublesalario;publicdoublegetBonificacao(){returnthis.salario*1.2;/* Aqui é a minha dúvida: se a classe nunca vai ser instanciada, como posso usar o this ?? */}}
fiquei com uma dúvida aqui :
Classes abstratas nunca são instanciadas certo?
Diretamente não, necessitam de uma classe concreta para existirem.
o this faz referência ao objeto ( que por ventura existirá, através de uma instância realizada por alguma classe concreta ), e acesso métodos e atributos da própria classe.
nesse caso, quando a classe Funcionario for instanciada através de outra classe, o this.salario vai fazer referência ao salario da classe abstrata Funcionario.
PS.: Você não pode dar um new Funcionario(); mas pode fazer por exemplo:
Empregado empregado = new Empregado();
sendo que Empregado extends Funcionario.
B
bruno_nunes
Ahh rpz…
Então quando eu declaro uma classe como abstrata espera-se que ela tenha classes filhas concretas para que o this faça sentido né isso ?
Valeu pela ajuda.
Fabricio_Cozer_Marti
bruno_nunes:
Ahh rpz…
Então quando eu declaro uma classe como abstrata espera-se que ela tenha classes filhas concretas para que o this faça sentido né isso ?