Sobes.tech
Junior

Πώς χρησιμοποιεί η υποκλάση τη λειτουργικότητα της γονικής κλάσης;

sobes.tech AI

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

Μέσω κληρονομιάς: η υποκλάση λαμβάνει τα δημόσια και προστατευμένα μέλη της υπερκλάσης.

  • Άμεση πρόσβαση: Μπορείτε να αποκτήσετε άμεσα πρόσβαση στα δημόσια και προστατευμένα πεδία και μεθόδους της υπερκλάσης με το όνομά τους μέσα στην υποκλάση.
  • Λέξη-κλειδί super: Χρησιμοποιείται για την κλήση του κατασκευαστή της υπερκλάσης ή για την πρόσβαση σε υπερκαλυμμένα πεδία/μεθόδους της υπερκλάσης όταν στην υποκλάση υπάρχουν μέλη με το ίδιο όνομα.
  • Υπερκαλυμμένα (overriding): Οι μέθοδοι της υπερκλάσης (που δεν είναι final) μπορούν να υπερκαλυφθούν στην υποκλάση, αλλάζοντας τη συμπεριφορά τους.
// Παράδειγμα υπερκλάσης
class Parent {
    protected int parentValue;

    public Parent(int value) {
        this.parentValue = value;
    }

    public void displayParentValue() {
        System.out.println("Τιμή γονέα: " + parentValue);
    }

    public final void cannotBeOverridden() {
        System.out.println("Αυτή η μέθοδος δεν μπορεί να υπερκαλυφθεί.");
    }
}

// Παράδειγμα υποκλάσης
class Child extends Parent {
    private int childValue;

    public Child(int parentValue, int childValue) {
        super(parentValue); // Κλήση κατασκευαστή γονέα
        this.childValue = childValue;
    }

    // Υπερκαλύπτοντας τη μέθοδο της υπερκλάσης
    @Override
    public void displayParentValue() {
        System.out.println("Υπερκαλυμμένη τιμή γονέα: " + parentValue); // Πρόσβαση στο προστατευμένο πεδίο του γονέα
    }

    public void displayChildValue() {
        System.out.println("Τιμή παιδιού: " + childValue);
    }

    public void callParentMethod() {
        super.displayParentValue(); // Κλήση της μεθόδου της υπερκλάσης μέσω super
    }
}