java:tostring
Differences
This shows you the differences between two versions of the page.
Next revision | Previous revision | ||
java:tostring [2016/02/19 12:31] – created doufexi | java:tostring [2022/02/24 12:42] (current) – external edit 127.0.0.1 | ||
---|---|---|---|
Line 11: | Line 11: | ||
</ | </ | ||
- | και να εκτυπωθούν στην οθόνη τα δεδομένα του σημείου που ορίσαμε, | + | και να εκτυπωθούν στην οθόνη τα δεδομένα του σημείου που ορίσαμε, δηλαδή οι συντεταγμένες, σε κατανοητή μορφή κειμένου η οποία διαβάζεται εύκολα από τον χρήστη, |
- | Αν όμως εκτελέσουμε το παραπάνω κομμάτι κώδικα, | + | Αν όμως εκτελέσουμε το παραπάνω κομμάτι κώδικα, |
- | Αυτό που δε φαίνεται στον κώδικα είναι ότι όταν ζητάμε να αντιμετωπιστεί ένα αντικείμενο ως κείμενο (πχ. για να εκτυπωθεί στην οθόνη) τότε καλείται έμμεσα μια συνάρτηση με όνομα toString η οποία είναι προκαθορισμένη για κάθε κλάση και επιστρέφει ένα String όπως το Point@5ffdfb42. Στην πραγματικότητα ο κώδικας που εκτελέστηκε ήταν : | + | Αυτό που δε φαίνεται στον κώδικα είναι ότι όταν ζητάμε να αντιμετωπιστεί ένα αντικείμενο ως κείμενο (πχ. για να εκτυπωθεί στην οθόνη) τότε καλείται έμμεσα μια συνάρτηση με όνομα |
<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.1455885085.txt.gz · Last modified: 2016/02/19 12:31 (external edit)