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
}
}