User Tools

Site Tools


java:class

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Last revision Both sides next revision
java:class [2017/01/27 14:57]
gthanos [Ο κατασκευαστής της κλάσης]
java:class [2022/02/22 15:37]
gthanos
Line 11: Line 11:
 <code java Rectangle.java> <code java Rectangle.java>
  
-public class Rectangle {+class Rectangle {
          
-  // the Rectangle class has 3 fields +  int width; 
-  public int width; +  int height; 
-  public int height; + 
-     +
-  // the Rectangle class has one constructor+
   public Rectangle(int initWidth, int initHeight) {   public Rectangle(int initWidth, int initHeight) {
     width = initWidth;     width = initWidth;
Line 23: Line 21:
   }   }
  
-  public void setWidth(int newWidth ) {+  void setWidth(int newWidth ) {
     width = newWidth;     width = newWidth;
   }   }
          
-  public void setHeight(int newHeight ) {+  void setHeight(int newHeight ) {
     height = newHeight;     height = newHeight;
   }   }
      
-  public int getWidth() {+  int getWidth() {
     return width;     return width;
   }   }
          
-  public int getHeight() {+  int getHeight() {
     return height;     return height;
   }   }
      
-  public int area() {+  int area() {
     return width * height;     return width * height;
   }   }
Line 52: Line 50:
 και τις παρακάτω μεθόδους: και τις παρακάτω μεθόδους:
 <code java> <code java>
-  public void setWidth(int newWidth ); +  void setWidth(int newWidth ); 
-  public void setHeight(int newHeight ); +  void setHeight(int newHeight ); 
-  public int getWidth(); +  int getWidth(); 
-  public int getHeight(); +  int getHeight(); 
-  public int area();+  int area();
 </code> </code>
  
-Προς το παρόν αγνοήστε τον προσδιοριστή **public** μπροστά από τα πεδία και τις μεθόδους, τον οποίο θα εξετάσουμε στην συνέχεια. +=== Ο κατασκευαστής της κλάσης ===
- +
-===== Ο κατασκευαστής της κλάσης =====+
  
 Εκτός από τις παραπάνω μεθόδους η κλάση διαθέτει μία "ειδική" μέθοδο που έχει το όνομα της κλάσης και δεν διαθέτει επιστρεφόμενο τύπο, όπως παρακάτω: Εκτός από τις παραπάνω μεθόδους η κλάση διαθέτει μία "ειδική" μέθοδο που έχει το όνομα της κλάσης και δεν διαθέτει επιστρεφόμενο τύπο, όπως παρακάτω:
Line 77: Line 73:
 Κάθε κλήση του κατασκευαστή της κλάσης δημιουργεί και επιστρέφει ένα νέο αντικείμενο. Κάθε κλήση του κατασκευαστή της κλάσης δημιουργεί και επιστρέφει ένα νέο αντικείμενο.
  
-Κάθε κλάση έχει τουλάχιστον ένα κατασκευαστή (**//μπορεί να έχει και περισσότερους//**).__Εάν δεν έχει οριστεί κατασκευαστής σε μία κλάση __o compiler της java ορίζει αυτόματα ένα κατασκευαστή χωρίς τυπικές παραμέτρους και χωρίς εντολές μέσα στο κυρίως σώμα. Ο κατασκευαστής αυτός ονομάζεται **βασικός κατασκευαστής της κλάσης** (default constructor). Για την παραπάνω κλάση Rectangle ο βασικός κατασκευαστής είναι o εξής:+Κάθε κλάση έχει τουλάχιστον ένα κατασκευαστή (**//μπορεί να έχει και περισσότερους//**). __Εάν δεν έχει οριστεί κατασκευαστής σε μία κλάση __o compiler της java ορίζει αυτόματα ένα κατασκευαστή χωρίς τυπικές παραμέτρους και χωρίς εντολές μέσα στο σώμα του. Ο κατασκευαστής αυτός ονομάζεται **προκαθορισμένος ή βασικός κατασκευαστής** της κλάσης (//default constructor//). Ο βασικός κατασκευαστής αρχικοποιεί όλα τα πεδία των αντικειμένων σε **0** (για πεδία βασικού τύπου) ή σε **nulll** (για πεδία αναφορικού τύπου). 
 + 
 +Για την παραπάνω κλάση Rectangle ο βασικός κατασκευαστής είναι ισοδύναμος με τον να γράψετε τον παρακάτω κώδικα:
  
 <code java> <code java>
Line 86: Line 84:
  
 |Προηγούμενο: [[:oop:introduction |  |Προηγούμενο: [[:oop:introduction | 
-Εισαγωγή στον Αντικειμενοστραφή Προγραμματισμό ]] | [[:toc | Περιεχόμενα]] | Επόμενο: [[:java:class_fields | Τα πεδία (δεδομένα) της κλάσης]]|+Εισαγωγή στον Αντικειμενοστραφή Προγραμματισμό ]] | [[:toc | Περιεχόμενα]] | Επόμενο: [[:java:class_fields | Τα πεδία της κλάσης]]|
  
java/class.txt · Last modified: 2022/02/22 15:38 by gthanos