Sobes.tech
Junior — Middle

Explique a finalidade e o uso do modificador de acesso protected na programação orientada a objetos.

sobes.tech IA

Resposta da IA

O modificador de acesso protected na programação orientada a objetos limita o acesso aos membros da classe (campos, métodos) de forma que eles estejam acessíveis:

  • Dentro da própria classe,
  • Em classes herdadas,
  • Dentro do mesmo pacote (em linguagens que possuem o conceito de pacote, por exemplo, Java).

Isso permite esconder detalhes de implementação do mundo exterior, mas ao mesmo tempo permite que subclasses usem e sobrescrevam esses membros.

Exemplo em Java:

public class Animal {
    protected void makeSound() {
        System.out.println("Algum som");
    }
}

public class Dog extends Animal {
    @Override
    protected void makeSound() {
        System.out.println("Latido");
    }
}

Aqui, o método makeSound é acessível na classe Dog, mas não acessível de outras classes que não sejam herdeiras.