java:this_operator

This is an old revision of the document!


A PCRE internal error occured. This might be caused by a faulty plugin

====== Ο τελεστής 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> public class Rectangle { private int width, height; private Point origin; public Rectangle(Point p, int w, int h) { origin = p; width = w; height = h; } ... } </code> Εναλλακτικά, το παραπάνω μπορεί να γραφεί ως εξής. <code java> public class Rectangle { private int width, height; private Point origin; public Rectangle(Point origin, int width, int height) { this.origin = origin; this.width = width; this.height = height; } ... } </code> Στον παραπάνω κώδικα η τοπική μεταβλητή ''origin'' που δίνεται ως τυπική παράμετρος στον κατασκευαστή, συμπίπτει με την μεταβλητή της κλάσης. Σε αυτή την περίπτωση η τοπική μεταβλητή "κρύβει" (shadows) την μεταβλητή του αντικειμένου της κλάσης. Προκειμένου να έχουμε πρόσβαση στην μεταβλητή του αντικειμένου της κλάσης θα πρέπει να χρησιμοποιήσουμε τον τελεστή **this**. Συμπερασματικά, ο τελεστής **this** δείχνει στο τρέχον αντικείμενο και χρησιμοποιείται για να προσπελαστούν δεδομένα ή μεταβλητές που ανήκουν σε αντικείμενα της κλάσης. <WRAP tip> O τελεστής **this** δείχνει στο τρέχον αντικείμενο της εκάστοτε κλάσης, για λογαριασμό του οποίου εκτελείται. </WRAP> |Προηγούμενο: [[:java:objects| Δημιουργώντας Αντικείμενα ]] | Επόμενο: [[:java:static_keyword | Στατικές μεταβλητές και μέθοδοι ]]|

java/this_operator.1423837103.txt.gz · Last modified: 2016/02/26 11:15 (external edit)