This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Next revision Both sides next revision | ||
java:this_operator [2015/01/21 17:54] gthanos [Ο τελεστής this] |
java:this_operator [2015/02/13 14:14] gthanos |
||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== Oι τελεστές this και super ====== | + | ====== Ο τελεστής this ====== |
- | ===== Ο τελεστής this ===== | + | ===== Πρόσβαση στους κατασκευαστές της κλάσης μέσω του τελεστή this ===== |
- | Ας υποθέσουμε το παρακάτω τμήμα κώδικα το οποίο συναντήσαμε προηγούμενα | + | Ας ξαναγράψουμε το παρακάτω τμήμα κώδικα το οποίο συναντήσαμε προηγούμενα |
+ | |||
+ | <code java> | ||
+ | public class Rectangle { | ||
+ | private int width, height; | ||
+ | private Point origin; | ||
+ | |||
+ | public Rectangle(Point p, int w, int h) { | ||
+ | origin = p; | ||
+ | width = w; | ||
+ | height = h; | ||
+ | } | ||
+ | |||
+ | public Rectangle(int x, int y) { | ||
+ | width = w; | ||
+ | height = h; | ||
+ | } | ||
+ | .... | ||
+ | } | ||
+ | </code> | ||
+ | |||
+ | ως εξής | ||
+ | |||
+ | <code java> | ||
+ | public class Rectangle { | ||
+ | private int width, height; | ||
+ | private Point origin; | ||
+ | |||
+ | public Rectangle(Point p, int w, int h) { | ||
+ | origin = p; | ||
+ | this(w,h) | ||
+ | } | ||
+ | |||
+ | public Rectangle(int w, int h) { | ||
+ | width = w; | ||
+ | height = h; | ||
+ | } | ||
+ | .... | ||
+ | } | ||
+ | </code> | ||
+ | |||
+ | Ο τελεστής **this** δείχνει στο τρέχον αντικείμενο και χρησιμοποιείται για να προσπελαστεί ένας άλλος κατασκευαστής της ίδιας κλάσης. | ||
+ | |||
+ | ===== Πρόσβαση σε πεδία και μεθόδους των αντικειμένων της κλάσης μέσω του τελεστή this ===== | ||
+ | |||
+ | Ας ξαναγράψουμε το παρακάτω τμήμα κώδικα το οποίο συναντήσαμε προηγούμενα: | ||
<code java> | <code java> | ||
Line 39: | Line 84: | ||
Συμπερασματικά, ο τελεστής **this** δείχνει στο τρέχον αντικείμενο και χρησιμοποιείται για να προσπελαστούν δεδομένα ή μεταβλητές που ανήκουν σε αντικείμενα της κλάσης. | Συμπερασματικά, ο τελεστής **this** δείχνει στο τρέχον αντικείμενο και χρησιμοποιείται για να προσπελαστούν δεδομένα ή μεταβλητές που ανήκουν σε αντικείμενα της κλάσης. | ||
- | ===== Ο τελεστής super ===== | ||
+ | <WRAP tip> | ||
+ | O τελεστής **this** δείχνει στο τρέχον αντικείμενο της εκάστοτε κλάσης, για λογαριασμό του οποίου εκτελείται. | ||
+ | </WRAP> | ||
+ | |||
+ | |Προηγούμενο: [[:java:this_operator | Oι τελεστές this και super ]] | Επόμενο: [[:java:static_keyword | Στατικές μεταβλητές και μέθοδοι ]]| | ||