Φωτογραφία ΑΝΤΩΝΙΟΣ ΧΑΛΙΑΠΑΣ
Δήλωση toString()
από ΑΝΤΩΝΙΟΣ ΧΑΛΙΑΠΑΣ - Wednesday, 14 December 2011, 4:31 PM
 
Νίκο καλησπέρα, θα ήθελα να ρωτήσω σχετικά με τη μέθοδο toString(),θα μπορούσαμε να τη δηλώσουμε στην βασική κλάση σαν string και να επιστρέφει μία null τιμή ή να την δηλώσουμε και αυτή σαν αφηρημένη.Πάντως δουλεύουνε και τα δύο.Η ένσταση μου είναι αν μπορούμε να δηλώσουμε την toString() σαν abstract;
 
Φωτογραφία Νικόλαος Πανάγος
Απάντηση: Δήλωση toString()
από Νικόλαος Πανάγος - Wednesday, 14 December 2011, 4:59 PM
 
Καλησπέρα Αντώνη,

η toString() ανήκει στην κλάση Object από την οποία κληρονομούν όλες οι κλάσεις στη Java και δεν έχει νόημα να τη δηλώσεις ως αφηρημένη. Θα πρέπει να επιστρέφει το όνομα της κλάσης και για την Empoloyee, δηλαδή να έχει υλοποίηση και για την κλάση αυτή.
Φωτογραφία Αθανασία Γιαννοπούλου
Απάντηση: Δήλωση toString()
από Αθανασία Γιαννοπούλου - Thursday, 15 December 2011, 7:32 PM
 
Καλησπέρα και απο εμένα..
έχω και εγω μια απορία επάνω στην toString , στην σελ.του βιβλίου 372 δείχνει πως να ορίζουμε την toString ως αναπαράσταση του αντικειμένου της κλάσης.
Αυτός εινια ο τρόπος και για την άσκηση η αναπαράσταση του αντικειμένου ?
Και αν ναι χρησιμοποιούμε τη συνταξη return String.format() ?

Φωτογραφία Νικόλαος Πανάγος
Απάντηση: Δήλωση toString()
από Νικόλαος Πανάγος - Thursday, 15 December 2011, 7:53 PM
 
Καλησπέρα Σάσα,

Για την εργασία θέλω η toString() να επιστρέφει το όνομα της κλάσης. Υπάρχουν διάφοροι τρόποι για να γίνει αυτό, όποιον κι αν χρησιμοποιήσετε θα είναι σωστός αρκεί να επιστρέφει ως αλφαριθμητικό το όνομα της κλάσης.
Φωτογραφία Αθανασία Γιαννοπούλου
Απάντηση: Δήλωση toString()
από Αθανασία Γιαννοπούλου - Thursday, 15 December 2011, 8:11 PM
 
"μάλλον" κατάλαβα hard-coded θα ειναι το όνομα της κλάσης.σωστά?
Φωτογραφία Νικόλαος Πανάγος
Απάντηση: Δήλωση toString()
από Νικόλαος Πανάγος - Thursday, 15 December 2011, 10:00 PM
 
Αυτή είναι μία από τις πιθανές λύσεις και είναι απόλυτα σωστή.
Φωτογραφία Αθανασία Γιαννοπούλου
Απάντηση: Δήλωση toString()
από Αθανασία Γιαννοπούλου - Friday, 16 December 2011, 7:37 AM
 
ευχαριστώ πολύ..

Φωτογραφία Ιωάννης Αναγνώστου
Απάντηση: Δήλωση toString()
από Ιωάννης Αναγνώστου - Friday, 16 December 2011, 12:29 PM
 
Καλησπέρα! Έχω και εγώ κάποιες ερωτήσεις σχετικά με την toString()... Είναι απαραίτητο να επιστρέφει το όνομα της κλάσης μαζί με το πακέτο στο οποίο περιέχεται ή χωρίς αυτό; Εφόσον δεν έχει νόημα να την δηλώσουμε ως αφηρημένη και πρέπει να επιστρέφει το όνομα της κλάσης και για την Employee, σε τι εξυπηρετεί η υλοποίησή της στις δύο υποκλάσεις;
Φωτογραφία Νικόλαος Πανάγος
Απάντηση: Δήλωση toString()
από Νικόλαος Πανάγος - Friday, 16 December 2011, 2:46 PM
 
Καλησπέρα Γιάννη,

η ονομασία του πακέτου δεν αναφέρεται πουθενά, ούτε στην εκφώνηση, ούτε ανέφερα εγώ κάτι τέτοιο σε κάποιο ποστ... μην μπερδεύεστε μόνοι σας!
Στην εκφώνηση αναφέρω ρητά πως θέλω να επιστρέφει το ονομα της κλάσης, τίποτα άλλο.
Σχετικά με το δεύτερο που ρωτάς, εξυπηρετεί στο ότι αν κληθεί από ένα αντικείμενο τύπου SalaryEmployee θα επιτρέψει SalaryEmployee ενώ από ένα αντικείμενο HourlyEmployee θα επιστρέψει HourlyEmployee.

Φωτογραφία Ιωάννης Αναγνώστου
Απάντηση: Δήλωση toString()
από Ιωάννης Αναγνώστου - Friday, 16 December 2011, 4:47 PM
 
Για το πακέτο ρωτάω γιατί αν προσπαθήσουμε να πάρουμε το όνομα της κλάσης π.χ. από τον getter της κλάσης Class της Java θα μας επιστρέψει κάτι τύπου packageName.className, οπότε εκτός από hardcoding αυτό που σκέφτομαι για να υλοποιηθεί κάτι τέτοιο χωρίς το όνομα του πακέτου μου φαίνεται λίγο τραβηγμένο. Η ερώτηση για το τι εξυπηρετεί αφορούσε πάλι την περίπτωση που δε θα ήταν το όνομα hardcoded. Τέλος πάντων, κατάλαβα. Ευχαριστώ!
Φωτογραφία Νικόλαος Πανάγος
Απάντηση: Δήλωση toString()
από Νικόλαος Πανάγος - Friday, 16 December 2011, 4:52 PM
 
Υπάρχει τρόπος να πάρεις το όνομα και χωρίς το πακέτο πάντως ;-)
Είτε το κάνετε hard-coded είτε όχι, πάλι έχει νόημα να είναι υλοποιημένη η toString σε κάθε κλάση.