This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision Next revision Both sides next revision | ||
|
java:class_constructors [2018/02/08 14:11] gthanos [Κατασκευαστές της κλάσης] |
java:class_constructors [2022/02/22 10:59] gthanos [Πολλαπλοί κατασκευαστές σε μία κλάση] |
||
|---|---|---|---|
| Line 28: | Line 28: | ||
| Κάθε κλάση έχει τουλάχιστον ένα κατασκευαστή. Εάν δεν δηλώσετε κατασκευαστή σε κάποια κλάση ο // | Κάθε κλάση έχει τουλάχιστον ένα κατασκευαστή. Εάν δεν δηλώσετε κατασκευαστή σε κάποια κλάση ο // | ||
| </ | </ | ||
| + | |||
| + | ===== Default κατασκευαστής ===== | ||
| Στο προηγούμενο παράδειγμα της κλάσης **Rectangle** εάν υποθέσουμε ότι αυτή δεν έχει κατασκευαστή ο // | Στο προηγούμενο παράδειγμα της κλάσης **Rectangle** εάν υποθέσουμε ότι αυτή δεν έχει κατασκευαστή ο // | ||
| - | <code java> | + | <code java Rectangle.java> |
| - | code java Rectangle.java> | + | |
| public class Rectangle { | public class Rectangle { | ||
| int width; | int width; | ||
| Line 44: | Line 45: | ||
| , ο οποίος με τη σειρά του αρχικοποιεί όλες τις τιμές σε μηδέν για τους βασικούς (// | , ο οποίος με τη σειρά του αρχικοποιεί όλες τις τιμές σε μηδέν για τους βασικούς (// | ||
| - | < | + | < |
| - | public Rectangle() { | + | public Rectangle() { |
| - | width = 0; | + | width = 0; |
| - | height = 0; | + | height = 0; |
| - | origin = null; | + | origin = null; |
| - | } | + | } |
| </ | </ | ||
| + | |||
| με βάση τους [[java: | με βάση τους [[java: | ||
| - | ===== Πολλαπλοί κατασκευαστές σε μία κλάση ===== | + | ===== Διαφορετικοί κατασκευαστές σε μία κλάση ===== |
| Ανάλογη με την υπερφόρτωση μεθόδων είναι και η " | Ανάλογη με την υπερφόρτωση μεθόδων είναι και η " | ||
| Line 62: | Line 64: | ||
| </ | </ | ||
| + | O πρώτος κατασκευαστής λαμβάνει ως τρίτο όρισμα ένα αντικείμενο τύπου Point, το οποίο το αναθέτει στο πεδίο origin. Ο δεύτερος κατασκευαστής λαμβάνει ως τρίτο και τέταρτο όρισμα δύο ακεραίους από τους οποίους κατασκευάζει ένα νέο αντικείμενο τύπου Point. | ||
| <code java Rectangle.java> | <code java Rectangle.java> | ||
| - | public | + | class Rectangle { |
| | | ||
| // the Rectangle class has 3 fields | // the Rectangle class has 3 fields | ||
| Line 85: | Line 88: | ||
| | | ||
| // the Rectangel class has 3 methods | // the Rectangel class has 3 methods | ||
| - | | + | void setWidth(int newWidth ) { |
| width = newWidth; | width = newWidth; | ||
| } | } | ||
| | | ||
| - | | + | int getWidth() { |
| return width; | return width; | ||
| } | } | ||
| | | ||
| - | | + | void setHeight(int newHeight ) { |
| height = newHeight; | height = newHeight; | ||
| } | } | ||
| | | ||
| - | | + | int getHeight() { |
| return height; | return height; | ||
| } | } | ||
| | | ||
| - | | + | void setOrigin(Point newOrigin) { |
| origin = newOrigin; | origin = newOrigin; | ||
| } | } | ||
| | | ||
| - | | + | Point getOrigin() { |
| return origin; | return origin; | ||
| } | } | ||