User Tools

Site Tools


java:member_initialization

Differences

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

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
java:member_initialization [2020/02/21 12:28] – [Παράδειγμα αρχικοποίησης στατικών και μη στατικών πεδίων] gthanosjava:member_initialization [2022/02/24 12:39] (current) – external edit 127.0.0.1
Line 14: Line 14:
 </code> </code>
  
-Η παραπάνω μέθοδος αφορά **στατικά** (static) και **μη στατικά** πεδία, προϋποθέτει όμως ότι η ανάθεση της τιμής μπορεί αν γίνει μόνο με μία εντολή (όπως παραπάνω). Πιο σύνθετες μέθοδοι ανάθεσης (π.χ. πρέπει να γίνει αρχικοποίηση ενός πίνακα) μπορούν να γίνουν μέσα στους κατασκευαστές τις κλάσης, μόνο αν μιλάμε για μη στατικά πεδία. Η αρχικοποίηση στατικών πεδίων δεν μπορεί να γίνει μέσα στους κατασκευαστές.+Η παραπάνω μέθοδος αφορά **στατικά** (static) και **μη στατικά** πεδία, προϋποθέτει όμως ότι η ανάθεση της τιμής μπορεί αν γίνει μόνο με μία εντολή (όπως παραπάνω). Πιο σύνθετες μέθοδοι ανάθεσης (π.χ. αρχικοποίηση πινάκων) μπορούν να γίνουν μέσα στους κατασκευαστές τις κλάσης για τα μη στατικά πεδία. Η αρχικοποίηση στατικών πεδίων δεν έχει νόημα να γίνεται μέσα στους κατασκευαστές.
  
-Για την αρχικοποίηση πεδίων εκτός από τους κατασκευαστές έχουμε τις εξής επιλογές:+Για την αρχικοποίηση πεδίων εκτός από τους κατασκευαστές έχουμε τις εξής επιπλέον επιλογές:
   * για στατικά πεδία   * για στατικά πεδία
     * **static initialization blocks**.     * **static initialization blocks**.
Line 168: Line 168:
   int getArea() {   int getArea() {
        return width * height;        return width * height;
-  } 
-    
-  // Move rectangle origin by x,y 
-  void move(int dx, int dy) { 
-    origin.setX( origin.getX() + dx ); 
-    origin.setY( origin.getY() + dy ); 
   }   }
      
-  String toString(String objName) { +  String description(String objName) { 
-      return "["+objName+"." + id + "Width: " + width + ", Height: " + height + ", Origin: " + origin;+      return "["+objName+"] (id: "+ id +"Width: " + width + ", Height: " + height;
   }   }
      
-  static void main(String []args) {+  public static void main(String []args) {
     System.out.println("-------------------------------");     System.out.println("-------------------------------");
     Point p = new Point(10,20);     Point p = new Point(10,20);
 +    
     Rectangle rectOne = new Rectangle(30,40, p);     Rectangle rectOne = new Rectangle(30,40, p);
-    System.out.println(rectOne.toString("rectOne")); 
     System.out.println("-------------------------------");     System.out.println("-------------------------------");
 +    System.out.println(rectOne.description("rectOne"));
     System.out.println("Number of Rectangles: " + getNumberOfRectangles() );     System.out.println("Number of Rectangles: " + getNumberOfRectangles() );
   }   }
Line 200: Line 195:
 initialize objectId in block, id: 100 initialize objectId in block, id: 100
 Initialized object id in constructor, id:1 Initialized object id in constructor, id:1
-[rectOne.1] Width: 30, Height: 40, Origin: [Point xPos:10, yPos:20] 
 ------------------------------- -------------------------------
 +[rectOne] (id: 1) Width: 30, Height: 40
 Number of Rectangles: 1 Number of Rectangles: 1
 </code> </code>
Line 214: Line 209:
 </WRAP> </WRAP>
  
-|Προηγούμενο: [[:java:static_keyword | Στατικές μεταβλητές και μέθοδοι ]] | [[ :toc | Περιεχόμενα ]] | Επόμενο: [[ :java:toString Η μέθοδος toString ]]| +|Προηγούμενο: [[:java:static_keyword | Στατικές μεταβλητές και μέθοδοι ]] | [[ :toc | Περιεχόμενα ]] | Επόμενο: [[ :java:string Αλφαριθμητικά ]]|
- +
- +
- +
  
java/member_initialization.1582288101.txt.gz · Last modified: 2020/02/21 12:28 (external edit)