Sobes.tech
Junior — Middle

Vysvětlete účel a použití modifikátoru přístupu protected v objektově orientovaném programování.

sobes.tech AI

Odpověď od AI

Modifikátor přístupu protected v objektově orientovaném programování omezuje přístup k členům třídy (pole, metody) tak, že jsou dostupné:

  • Uvnitř samotné třídy,
  • V odvozených třídách,
  • V rámci stejného balíčku (v jazycích, kde je pojem balíček, například Java).

To umožňuje skrýt implementační detaily před vnějším světem, ale zároveň umožňuje podtřídám tyto členy používat a přepisovat.

Příklad v Java:

public class Animal {
    protected void makeSound() {
        System.out.println("Nějaký zvuk");
    }
}

public class Dog extends Animal {
    @Override
    protected void makeSound() {
        System.out.println("Štěkání");
    }
}

Zde je metoda makeSound dostupná ve třídě Dog, ale není dostupná z jiných tříd, které nejsou dědící.