Προς το περιεχόμενο

Java: Κλήση κατασκευαστή μέσα στην ίδια του την κλάση.


pbp

Προτεινόμενες αναρτήσεις

Και εάν o είναι ένας int; Ή ένας array; (στις απλές των περιπτώσεων)

 

Δεν νομίζω ότι είναι καλή λύση αυτή που προτείνεις...

Ποιος να ειναι int? Δε σε πιανω...

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Sorry, δεν καταλαβα καλα την ερωτηση... :rolleyes:

Τοτε κανε κατι τετοιο ισως...

>public void Func(Object o)
{
   this = new MyClass(o);
}

 

 

Ναι οκ, τεχνικά γίνεται.

 

Αλλά δε είναι, κατ εμέ τουλάχιστον, καλή λύση να κατασκευάζεις επι της ουσίας νέο αντικείμενο κάθε φορά που θες να κάνεις μια αλλαγή στα στοιχεία.

Τρομερά δαπανηρό και εν τέλη λάθος θα το χαρακτήριζα.

 

 

pbp αν θες τη γνώμη μου δες το δεύτερο παράδειγμα που σου έδωσα και προσπάθησε να καταλάβεις σε τι εξυπηρετεί.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Αλλά δε είναι, κατ εμέ τουλάχιστον, καλή λύση να κατασκευάζεις επι της ουσίας νέο αντικείμενο κάθε φορά που θες να κάνεις μια αλλαγή στα στοιχεία.

Τρομερά δαπανηρό και εν τέλη λάθος θα το χαρακτήριζα.

 

pbp αν θες τη γνώμη μου δες το δεύτερο παράδειγμα που σου έδωσα και προσπάθησε να καταλάβεις σε τι εξυπηρετεί.

Συμφωνω, απλα απαντω στην ερωτηση του φιλου ;)

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Αυτό που ζητάει περιγράφεται καθαρά εδώ. Είναι κάτι σαν caching, και θα μπορούσε να είναι χρήσιμο, αν π.χ. ο υπολογισμός που θέλει είναι πολύπλοκος και δεν θα ήταν καλό να επαναλαμβάνεται κάθε φορά που θέλει να μάθει το αποτέλεσμά του. Η απάντηση εδώ είναι απόλυτα σωστή και μάλιστα (αν και δεν τονίζεται) η βοηθητική μέθοδος είναι private.

 

Πάντως υπάρχει ακόμα μία περίπτωση κλήσης του constructor: μέσα από έναν άλλο constructor με χρήση της this(), μόνο που η κλήση πρέπει να είναι η πρώτη εντολή (όπως και για την super()). Δείτε εδώ.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

  • 11 χρόνια αργότερα...
Στις 19/10/2011 στις 7:03 ΜΜ, pbp είπε

Γεια σας,

Μήπως μπορείτε να μου πείτε πως μπορώ να καλέσω τον κατασκευαστή μιας κλάσης μέσα στην ίδια του την κλάση, μέσω μιας μεθόδου?

 

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Επισκέπτης
Αυτό το θέμα είναι πλέον κλειστό για περαιτέρω απαντήσεις.
  • Δημιουργία νέου...