java:tostring
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
java:tostring [2016/02/26 08:43] – [Αναπαράσταση δεδομένων αντικειμένου σε μορφή κειμένου] gthanos | java:tostring [2022/02/24 12:42] (current) – external edit 127.0.0.1 | ||
---|---|---|---|
Line 15: | Line 15: | ||
Αν όμως εκτελέσουμε το παραπάνω κομμάτι κώδικα, | Αν όμως εκτελέσουμε το παραπάνω κομμάτι κώδικα, | ||
- | Αυτό που δε φαίνεται στον κώδικα είναι ότι όταν ζητάμε να αντιμετωπιστεί ένα αντικείμενο ως κείμενο (πχ. για να εκτυπωθεί στην οθόνη) τότε καλείται έμμεσα μια συνάρτηση με όνομα **toString** η οποία είναι προκαθορισμένη για κάθε κλάση και επιστρέφει ένα String όπως το Point@5ffdfb42. Στην πραγματικότητα ο κώδικας που εκτελέστηκε ήταν : | + | Αυτό που δε φαίνεται στον κώδικα είναι ότι όταν ζητάμε να αντιμετωπιστεί ένα αντικείμενο ως κείμενο (πχ. για να εκτυπωθεί στην οθόνη) τότε καλείται έμμεσα μια συνάρτηση με όνομα **toString** η οποία είναι προκαθορισμένη για κάθε κλάση και επιστρέφει ένα String όπως το Point@5ffdfb42. Στην πραγματικότητα, ο compiler βλέπει ότι η μέθοδος //println// λαμβάνει ως όρισμα ένα αντικείμενο τύπου String και καλεί την μέθοδο **toString** (η μέθοδος επιστρέφει String) για το αντικείμενο της κλάσης. Τελικά |
<code java> | <code java> | ||
Line 29: | Line 29: | ||
</ | </ | ||
- | Ένα σημαντικό μειονέκτημα της παραπάνω " | + | Ένα σημαντικό μειονέκτημα της παραπάνω " |
Ο σωστός τρόπος να επιτύχουμε αυτό που θέλουμε είναι υπερκαλύπτοντας τη μέθοδο **toString()**. Η υπερκάλυψη (**override**) μιας μεθόδου θα εξηγηθεί λεπτομερώς σε επόμενη ενότητα. Προς το παρόν, αρκεί να γνωρίζετε τα εξής: | Ο σωστός τρόπος να επιτύχουμε αυτό που θέλουμε είναι υπερκαλύπτοντας τη μέθοδο **toString()**. Η υπερκάλυψη (**override**) μιας μεθόδου θα εξηγηθεί λεπτομερώς σε επόμενη ενότητα. Προς το παρόν, αρκεί να γνωρίζετε τα εξής: | ||
- | * Η μέθοδος **toString** είναι ήδη ορισμένη για όλες τις κλάσεις και επιστρέφει μια κειμενική αναπαράσταση ενός | + | <WRAP tip 80% center round> |
- | * Υπάρχει η δυνατότητα να την | + | |
- | * Η δική μας υλοποίηση, | + | * Υπάρχει η δυνατότητα να ξαναορίσουμε |
+ | * Η δική μας υλοποίηση, | ||
+ | </ | ||
- | Ορίζουμε λοιπόν στην κλάση Point: | + | Ορίζουμε λοιπόν στην κλάση Point την μέθοδο '' |
<code java> | <code java> | ||
Line 52: | Line 54: | ||
</ | </ | ||
- | θα εμφανιστεί στην οθόνη: '' | + | θα εμφανιστεί στην οθόνη: '' |
- | |Προηγούμενο: | + | |Προηγούμενο: |
java/tostring.1456476189.txt.gz · Last modified: 2016/02/26 08:43 (external edit)