2
respostas

Qual a diferença entre utilizar supre classe e o protected?

Fiquei com essa duvida, pois ambos me fornecem acesso as mesmas informações. Qual a diferença se eu aplicasse ambos os métodos em diversos filhos(as)?

2 respostas

Olá,

Acredito que são coisas diferentes, o protected é uma visualização do meu atributo, a partir desse momento os meus atributos ficam disponíveis para classes do mesmo pacote.

Já o super classe é permissão de criar novas classes herdando os metodos da classe mãe, deixando tudo fluir de forma hierarquia, realizando utilização do seu código.

Existem 4 tipos de modificadores de acesso, um deles é o protected. Digamos que você tem uma classe A com atributos protected, se você for tentar acessar esse atributo por outra classe B, você consegue se ela estiver no mesmo pacote que a classe A ou se por exemplo a classe B estiver em outro pacote e quiser acessar o atributo da classe A, você precisa dizer que a classe B irá estender a A (class B extends A{}), assim você terá acesso aos atributos da classe A. O super() serve para chamar o construtor da class mãe. Por exemplo, como a class B estende A, por herança você está dizendo que classe B é A, então dentro do construtor da classe B você utiliza o super(); para chamar o construtor da classe A.

Procure saber sobre os modificadores de acesso e herança, que você irá entender a diferença dos dois.