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

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

Δημοσ.

Και εάν 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 είπε

Γεια σας,

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

 

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