This shows you the differences between two versions of the page.
| Next revision | Previous revision Last revision Both sides next revision | ||
|
java:super_operator [2015/02/13 14:15] gthanos created |
java:super_operator [2016/03/31 08:43] doufexi [Πρόσβαση σε πεδία και μεθόδους των αντικειμένων της γονικής κλάσης μέσω του τελεστή super] |
||
|---|---|---|---|
| Line 1: | Line 1: | ||
| ====== Ο τελεστής super ====== | ====== Ο τελεστής super ====== | ||
| - | Σε αναλογία με τον τελεστή **this**, ο τελεστής **super** δείχνει στο αντικείμενο της γονικής κλάσης. Προϋπόθεση για την χρήση του τελεστή **super** είναι να υφίσταται γονική κλάση μέσω της διαδικασίας της κληρονομικότητας. | + | Σε προηγούμενη παράγραφο είδαμε την χρήση του τελεστή **[[java:this_operator |this]]**. Σε αναλογία με τον τελεστή **this**, ο τελεστής **super** δείχνει στο αντικείμενο της γονικής κλάσης. Προϋπόθεση για την χρήση του τελεστή **super** είναι να υφίσταται γονική κλάση μέσω της διαδικασίας της κληρονομικότητας. |
| ===== Πρόσβαση στους κατασκευαστές της γονικής κλάσης μέσω του τελεστή super ===== | ===== Πρόσβαση στους κατασκευαστές της γονικής κλάσης μέσω του τελεστή super ===== | ||
| Line 86: | Line 86: | ||
| public MountainBike(int startHeight, int startCadence, | public MountainBike(int startHeight, int startCadence, | ||
| int startSpeed, int startGear) { | int startSpeed, int startGear) { | ||
| - | super(startCadence, startSpeed, startGear); | + | //super(startCadence, startSpeed, startGear); |
| super.cadence = startCadence; | super.cadence = startCadence; | ||
| super.speed = startSpeed; | super.speed = startSpeed; | ||
| Line 104: | Line 104: | ||
| Συμπερασματικά, ο τελεστής **super** δείχνει στο αντικείμενο της γονικής κλάσης και χρησιμοποιείται για να προσπελαστούν δεδομένα ή μεταβλητές που ανήκουν στο τμήμα του τρέχοντος αντικειμένου που αφορά την γονική κλάση. | Συμπερασματικά, ο τελεστής **super** δείχνει στο αντικείμενο της γονικής κλάσης και χρησιμοποιείται για να προσπελαστούν δεδομένα ή μεταβλητές που ανήκουν στο τμήμα του τρέχοντος αντικειμένου που αφορά την γονική κλάση. | ||
| - | <WRAP important>Απαραίτητη προϋποθεση για την χρήση του τελεστη **super** είναι τα παιδιά της γονικής κλάσης να έχουν πρόσβαση στα δεδομένα ή τις μεθόδους της γονικής κλάσης. Για να γίνει αυτό, τα πεδία και οι μέθοδοι της γονικής κλάσης που θέλουμε να προσπελάσουμε δεν θα πρέπει να έχουν των προσδιοριστή πρόσβασης **private**. Περισσότερα για τους προσδιοριστές πρόσβασης θα δούμε παρακάτω, όταν θα έχουμε εξήγήσει την φιλοσοφία των πακέτων στην γλώσσα JAVA. | + | <WRAP important 80% center round>Απαραίτητη προϋποθεση για την χρήση του τελεστη **super** είναι τα παιδιά της γονικής κλάσης να έχουν πρόσβαση στα δεδομένα ή τις μεθόδους της γονικής κλάσης. Για να γίνει αυτό, τα πεδία και οι μέθοδοι της γονικής κλάσης που θέλουμε να προσπελάσουμε δεν θα πρέπει να έχουν των προσδιοριστή πρόσβασης **private** ή δεν θα πρέπει να έχουν προσδιοριστεί **package private** και να ανήκουν σε διαφορετικά πακέτα. |
| </WRAP> | </WRAP> | ||
| + | |||
| + | |Προηγούμενο: [[ :java:final | Final Κλάσεις και Μέθοδοι ]] | [[ :toc | Περιεχόμενα ]] | Επόμενο: [[ :java:object_class | Η κλάση Object ]]| | ||