Φωτογραφία Μιχάλης Βαραγγούλης
Point[]
από Μιχάλης Βαραγγούλης - Thursday, 3 December 2009, 12:07 PM
 
στην σελ.121 των σημειωσεων στη κλαση rectangle.. δε μπορω να καταλαβω τη λογικη του παρακάτω:

private Point[] points;

φτιάχνει έναν πίνακα από αντικείμενα της Point ?


 
Φωτογραφία Νικόλαος Πανάγος
Απάντηση: Point[]
από Νικόλαος Πανάγος - Thursday, 3 December 2009, 12:56 PM
 
Γεια σου Μιχάλη,

ναι αυτό δηλώνει ως μεταβλητή μέλος μία αναφορά ικανή να δείξει σε έναν πίνακα τύπου Point, δηλαδή έναν πίνακα του οποίου κάθε στοιχείο θα αποθηκεύει ένα αντικείμενο της κλάσης Point.

NP
Φωτογραφία Μιχάλης Βαραγγούλης
Απάντηση: Point[]
από Μιχάλης Βαραγγούλης - Thursday, 3 December 2009, 2:50 PM
 
μαλιστα.. στη σελιδα 119

private Point center

αυτη η μεταβλητη ειναι "τυπου Point"..δηλαδη; μεταβλητη-αντικειμενο;

επισης παρακατω

public Circle[Point c, int r] {
center = new Point[c];
radius = r;
}

-> αντι για παρενθεσεις εβαλα επιτηδες αγκυλες

τι ακριβως κανει; καλει τον constructor της Point και φτιαχνει ενα αντικειμενο center από την κλάση Point το οποιο εχει σαν τιμή το c...το οποιο ειναι τυπου Point? ααααααααααααααααααααααααααααααααααααααα dead
Φωτογραφία Νικόλαος Πανάγος
Απάντηση: Point[]
από Νικόλαος Πανάγος - Thursday, 3 December 2009, 7:46 PM
 
Μιχάλη, δεν καταλαβαίνω γιατί έχεις μπερεδευτεί τόσο...
Ως μεταβλητές μέλη σε μία κλάση μπορείς να έχεις οτιδήποτε...βασικούς τύπους, αναφορές σε πίνακες ή αναφορές σε αντικείμενα. Η συγκεκριμένη δήλωση λοιπόν δηλώνει ως μεταβλητή μέλος μία αναφορά τύπου Point. H αναφορά αυτή μπορεί να τεθεί να δείχνει σε ένα αντικείμενο τύπου Point.

Στον constructor στη συνέχεια, η πρώτη γραμμή καλεί τον copy constructor της Point, τον constructor δηλαδή που δημιουργεί ένα αντικείμενο και αντιγράφει σε αυτό τις τιμές ενός άλλου (του c στην προκειμένη περίπτωση). Το αντικείμενο που δημιουργείται που φυσικά είναι τύπου Point ανατίθεται στην αναφορά center. Απο αυτή τη γραμμή και μετά δηλαδή, η μεταβλητή μέλος center θα δείχνει στο αντικείμενο αυτό. Easy! :-)

ΝΠ

Φωτογραφία Μιχάλης Βαραγγούλης
Απάντηση: Point[]
από Μιχάλης Βαραγγούλης - Thursday, 3 December 2009, 8:03 PM
 
δασκαλε η αληθεια ειναι οτι δεν την πολυπαλευω με το 5ο κεφαλαιο..η εργασια ειναι σχετικα απλη αλλα αυτο το παραδειγμα με τους κυκλους τα points τις αντιγραφες και τα τετραγωνα θελει γερα νευρα :P

λοιπον περναω ολο το προγραμμα στο IDE και επανερχομαι
Φωτογραφία Νικόλαος Πανάγος
Απάντηση: Point[]
από Νικόλαος Πανάγος - Thursday, 3 December 2009, 8:29 PM
 
Μην απογοητεύεσαι ρε συ! Αφού το γράφω και στις σημειώσεις, το προγραμματάκι αυτό είναι δύσκολο για κάποιον που βλέπει αυτά τα πράγματα για πρώτη φορά. Θα δέσουν όλα σιγά σιγά, αρκεί να μην τα παρατήσεις. Υπομονή κι επιμονή θέλει και κάποια στιγμή θα σου γίνουν όλα ξεκάθαρα, στο εγγυώμαι αυτό.
Γενικά όλα αυτά τα πραγματάκια που αναλύονται στην ενότητα 5 είναι πιο προχωρημένα και γι αυτό σας έδωσα και περισσότερο χρόνο. Είναι παράλληλα όμως και τα πιο σημαντικά...

ΝΠ