This is an old revision of the document!
Στην Εισαγωγή στον Αντικειμενοστραφή Προγραμματισμό είδαμε την σχέση μεταξύ κλάσης και αντικειμένων. Εδώ θα δούμε πως ορίζουμε μία κλάση και θα ορίσουμε την πρώτη μας κλάση. Στην πιο απλή περίπτωση κάθε κλάση περιέχει τα εξής:
Για τις ανάγκες του παρόντος κεφαλαίου θα ορίσουμε την κλάση Rectangle που απεικονίζει ένα ορθογώνιο παραλληλόγραμμο. Παρακάτω ορίζουμε την κλάση αυτή με χρήση δύο παραμέτρων, το πλάτος και το ύψος του ορθογωνίου.
public class Rectangle { // the Rectangle class has 3 fields public int width; public int height; // the Rectangle class has one constructor public Rectangle(int initWidth, int initHeight) { width = initWidth; height = initHeight; } public void setWidth(int newWidth ) { width = newWidth; } public void setHeight(int newHeight ) { height = newHeight; } public int getWidth() { return width; } public int getHeight() { return height; } public int area() { return width * height; } }
Παρατηρήστε ότι η παραπάνω κλάση αποτελείται από τα πεδία:
και τις παρακάτω μεθόδους:
public void setWidth(int newWidth ); public void setHeight(int newHeight ); public int getWidth(); public int getHeight(); public int area();
Προς το παρόν αγνοήστε τον προσδιοριστή public μπροστά από τα πεδία και τις μεθόδους, τον οποίο θα εξετάσουμε στην συνέχεια.
Εκτός από τις παραπάνω μεθόδους η κλάση διαθέτει μία “ειδική” μέθοδο που έχει το όνομα της κλάσης και δεν διαθέτει επιστρεφόμενο τύπο, όπως παρακάτω:
public Rectangle(int setWidth, int setHeight);
Η “ειδική” αυτή μέθοδος αποτελεί τον κατασκευαστή της κλάσης. Ο κατασκευαστής της κλάσης έχει τις εξής δύο αρμοδιότητες:
Η κάθε κλήση του κατασκευαστή της κλάσης δημιουργεί και επιστρέφει ένα αντικείμενο σε κάθε κλήση του.
Κάθε κλάση έχει τουλάχιστον ένα κατασκευαστή (μπορεί να έχει και περισσότερους).Εάν δεν έχει οριστεί κατασκευαστής σε μία κλάση o compiler ορίζει ένα κατασκευαστή χωρίς τυπικές παραμέτρους και χωρίς εντολές μέσα στο κυρίως σώμα. Ο κατασκευαστής αυτός ονομάζεται βασικός κατασκευαστής της κλάσης (default constructor) Για την παραπάνω κλάση Rectangle ο βασικός κατασκευαστής θα ήταν o εξής:
public Rectangle() { }
| Προηγούμενο: Εντολές τερματισμού και ελέγχου της ανακύκλωσης | Περιεχόμενα | Επόμενο: Τα πεδία (δεδομένα) της κλάσης |