Senhores,
Se eu declaro um Construtor de uma classe como privado, isso impobilita a criação de uma classe que herde dessa primeira?
Att.
Construtor privado
3 Respostas
Para Estender uma classe o modificador de acesso do construtor nao importa !!!
Mas, para instanciar voce só pode instanciar de dentro da mesma classe
(Melhor não usar o modificador private no construtor)
:twisted:
Senhores,
Se eu declaro um Construtor de uma classe como privado, isso impobilita a criação de uma classe que herde dessa primeira?
Att.
Ola
Por definição da linguagem, quando vc extende uma classe, a classe que estendeu precisa “construir” a classe estendida antes de se construir, se os contrutores da classe que foi estendida for private, a classe que estendeu não consiguirá construir-la, assim gerando o erro, em tempo de compilação.
Para que isto não ocorra, é recomendado o uso do modificador protected, se houver alguma restrição, de modo que só classes que estendam a classe possa contrui-la.
Só adicionando um detalhe na resposta do BrunoCarlo, com o modificador protected terá acesso ao construtor tanto as classes que herdam dela e também as que estão no mesmo pacote.