Sobes.tech
Junior — Middle

Εξηγήστε τον σκοπό και τη χρήση του τροποποιητή πρόσβασης protected στον αντικειμενοστραφή προγραμματισμό.

sobes.tech AI

Απάντηση από AI

Ο τροποποιητής πρόσβασης protected στον αντικειμενοστραφή προγραμματισμό περιορίζει την πρόσβαση στα μέλη μιας κλάσης (πεδία, μεθόδους) έτσι ώστε να είναι προσβάσιμα:

  • Μέσα στην ίδια την κλάση,
  • Σε κλάσεις που κληρονομούν,
  • Μέσα στο ίδιο πακέτο (σε γλώσσες που έχουν την έννοια του πακέτου, π.χ. Java).

Αυτό επιτρέπει να κρύβονται λεπτομέρειες υλοποίησης από τον εξωτερικό κόσμο, ενώ ταυτόχρονα επιτρέπει στις υποκλάσεις να χρησιμοποιούν και να υπερκαλύπτουν αυτά τα μέλη.

Παράδειγμα σε Java:

public class Animal {
    protected void makeSound() {
        System.out.println("Κάποιος ήχος");
    }
}

public class Dog extends Animal {
    @Override
    protected void makeSound() {
        System.out.println("Γαύγισμα");
    }
}

Εδώ, η μέθοδος makeSound είναι προσβάσιμη στην κλάση Dog, αλλά όχι σε άλλες κλάσεις που δεν κληρονομούν.