This shows you the differences between two versions of the page.
Next revision | Previous revision Next revision Both sides next revision | ||
java:data_encapsulation [2015/01/21 13:18] gthanos created |
java:data_encapsulation [2015/01/21 13:45] gthanos [Τύποι πεδίων της κλάσης] |
||
---|---|---|---|
Line 47: | Line 47: | ||
} | } | ||
</code> | </code> | ||
+ | |||
+ | Για κάθε μεταβλητή έχουμε ορίσει συναρτήσεις λήψης της τιμής των πεδίων της κλάσης (**getters**), αλλά και συναρτήσεις για τον ορισμό η την μεταβολή της τιμής τους (**setters**). | ||
+ | |||
+ | ===== Τύποι πεδίων της κλάσης ===== | ||
+ | |||
+ | Μία κλάση μπορεί να διαθέτει **primitive** (βασικούς) τύπους δεδομένων (πχ. int, long, char, double, float κλπ) ή **reference** τύπους δεδομένων. **Reference** τύποι δεδομένων είναι οι μη βασικοί τύποι δεδομένων που αναφέρονται σε άλλες κλάσεις. Για παράδειγμα, ας πούμε ότι στο παραπάνω παράδειγμα θέλουμε να προσθέσουμε την θέση του ποδηλάτου. Η θέση του ποδηλάτου μπορεί να προσδιοριστεί από την παρακάτω κλάση ''Coordinates''. | ||
+ | |||
+ | <code java> | ||
+ | class Coordinates { | ||
+ | private double latitude; | ||
+ | private double longitude; | ||
+ | | ||
+ | public double getLatitude() { | ||
+ | return latitude; | ||
+ | } | ||
+ | public double getLongitude() { | ||
+ | return longitude; | ||
+ | } | ||
+ | public void setLatitude(double lat) { | ||
+ | latitude = lat; | ||
+ | } | ||
+ | public void setLongitude(double long) { | ||
+ | longitude = long; | ||
+ | } | ||
+ | } | ||
+ | </code> | ||
+ | |||
+ | Με χρήση της παραπάνω κλάσης η κλάση ''Bicycle'' γίνεται. | ||
+ | |||
+ | <code java> | ||
+ | |||
+ | </code> | ||
+ | |||
+ | |||
+ | |||