java:class_fields

Differences

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

Link to this comparison view

Both sides previous revision Previous revision
java:class_fields [2018/02/23 18:05]
gthanos
java:class_fields [2020/02/20 14:25] (current)
gthanos
Line 5: Line 5:
 Οι κανόνες ονοματολογίας των μεταβλητών στην Java συνοψίζονται στα εξής: Οι κανόνες ονοματολογίας των μεταβλητών στην Java συνοψίζονται στα εξής:
  
-  - Τα ονόματα των μεταβλητών είναι case-sensitive. Κάθε μεταβλητή μπορεί να ξεκινά με ένα γράμμα της αλφαβήτου (κεφαλαίο ή μικρό),​ τον χαρακτήρα '\$' ή τον χαρακτήρα '​_'​. //​Αποφύγετε όμως οι μεταβλητές σας να ξεκινούν με τους χαρακτήρες '\$' ή '​_'​ εκτός αν συντρέχει ισχυρός λόγος//​. +  - Τα ονόματα των μεταβλητών είναι case-sensitive. Κάθε μεταβλητή μπορεί να ξεκινά με ένα γράμμα της αλφαβήτου (κεφαλαίο ή μικρό),​ τον χαρακτήρα '​$'​ ή τον χαρακτήρα '​_'​. //​Αποφύγετε όμως οι μεταβλητές σας να ξεκινούν με τους χαρακτήρες '​$'​ ή '​_'​ εκτός αν συντρέχει ισχυρός λόγος//​. 
-  - Οι υπόλοιποι χαρακτήρες των μεταβλητών σας μπορεί να είναι γράμματα (κεφαλαία και μικρά),​ αριθμοί και οι χαρακτήρες '​$',​ '​_'​. //​Αποφύγετε στην ονοματολογία σας μεταβλητές που έχουν μόνο ένα γράμμα (π.χ. int s, double c) εκτός και εάν πρόκειται για μεταβλητές δείκτες που χρησιμοποιούνται σε επανάληψη (π.χ for, while)// .+  - Οι υπόλοιποι χαρακτήρες των μεταβλητών σας μπορεί να είναι γράμματα (κεφαλαία και μικρά),​ αριθμοί και οι χαρακτήρες '​$',​ '​_'​. //​Αποφύγετε στην ονοματολογία σας μεταβλητές που έχουν μόνο ένα γράμμα (π.χ. int s, double c) εκτός και εάν πρόκειται για μεταβλητές δείκτες που χρησιμοποιούνται σε επανάληψη (π.χ for, while)//.
   - Αν το όνομα της μεταβλητής σας αποτελείται από μία λέξη τότε γράψτε την λέξη αυτή με μικρά γράμματα (π.χ. role, colour, speed). Εάν η μεταβλητή σας περιέχει δύο λέξεις ενώστε τις λέξεις αυτές κάνοντας το πρώτο γράμμα κάθε λέξης κεφαλαίο (π.χ. adminRole, brighterColour,​ maxSpeed, maxSpeedTest).   - Αν το όνομα της μεταβλητής σας αποτελείται από μία λέξη τότε γράψτε την λέξη αυτή με μικρά γράμματα (π.χ. role, colour, speed). Εάν η μεταβλητή σας περιέχει δύο λέξεις ενώστε τις λέξεις αυτές κάνοντας το πρώτο γράμμα κάθε λέξης κεφαλαίο (π.χ. adminRole, brighterColour,​ maxSpeed, maxSpeedTest).
   - Εάν η μεταβλητή σας ορίζεται ως σταθερά,​ δηλαδή χαρακτηρίζεται από το πρόθεμα **static final** (π.χ. static final double PI = 3.14159265359;​),​ τότε χρησιμοποιήστε εξ ολοκλήρου κεφαλαία αντί για μικρά γράμματα.   - Εάν η μεταβλητή σας ορίζεται ως σταθερά,​ δηλαδή χαρακτηρίζεται από το πρόθεμα **static final** (π.χ. static final double PI = 3.14159265359;​),​ τότε χρησιμοποιήστε εξ ολοκλήρου κεφαλαία αντί για μικρά γράμματα.
Line 14: Line 14:
 Μία κλάση μπορεί να διαθέτει ​ Μία κλάση μπορεί να διαθέτει ​
   - **[[java:​variables|primitive]] (βασικούς) τύπους δεδομένων:​** (πχ. int, long, char, double, float κλπ, σε αναλογία με τους τύπους δεδομένων της γλώσσας προγραμματισμού C) και ​   - **[[java:​variables|primitive]] (βασικούς) τύπους δεδομένων:​** (πχ. int, long, char, double, float κλπ, σε αναλογία με τους τύπους δεδομένων της γλώσσας προγραμματισμού C) και ​
-  - **[[java:​variables|reference]] τύπους δεδομένων**:​ τύπους δεδομένων οι οποίοι περιγράφονται από κλάσεις. ​+  - **[[java:​variables|reference]] τύπους δεδομένων**: ​σύνθετους ​τύπους δεδομένων οι οποίοι περιγράφονται από κλάσεις. ​
  
 Βασικούς τύπους δεδομένων συναντήσαμε στην [[java:​class|κλάση Rectangle της προηγούμενης σελίδας]]. **Reference** τύποι δεδομένων είναι οι μη βασικοί τύποι δεδομένων που προδιαγράφονται από κλάσεις. Για παράδειγμα,​ ας πούμε ότι στο παραπάνω παράδειγμα θέλουμε να προσθέσουμε την θέση του ορθογώνιου παραλληλόγραμμου που ορίσαμε στην προηγούμενη παράγραφο στον χώρο. Η θέση του παραλληλογράμμου μπορεί να προσδιοριστεί από την παρακάτω κλάση **Point** η οποία περιγράφει ένα σημείο στο χώρο. Θεωρήστε ότι το σημείο προσδιορίζει την κάτω αριστερή γωνία του παραλληλογράμμου στον χώρο, όπως φαίνεται στο παρακάτω σχήμα. Βασικούς τύπους δεδομένων συναντήσαμε στην [[java:​class|κλάση Rectangle της προηγούμενης σελίδας]]. **Reference** τύποι δεδομένων είναι οι μη βασικοί τύποι δεδομένων που προδιαγράφονται από κλάσεις. Για παράδειγμα,​ ας πούμε ότι στο παραπάνω παράδειγμα θέλουμε να προσθέσουμε την θέση του ορθογώνιου παραλληλόγραμμου που ορίσαμε στην προηγούμενη παράγραφο στον χώρο. Η θέση του παραλληλογράμμου μπορεί να προσδιοριστεί από την παρακάτω κλάση **Point** η οποία περιγράφει ένα σημείο στο χώρο. Θεωρήστε ότι το σημείο προσδιορίζει την κάτω αριστερή γωνία του παραλληλογράμμου στον χώρο, όπως φαίνεται στο παρακάτω σχήμα.
Line 21: Line 21:
  
 <code java Point.java>​ <code java Point.java>​
- +class Point { 
-public ​class Point { +  int x;   // x coordinate 
-    ​private ​int x;   // x coordinate +  int y;   // y coordinate 
-    ​private ​int y;   // y coordinate +   
-     +  public Point(int xPos, int yPos) { 
-    public Point(int xPos, int yPos) { +    x = xPos; 
-      x = xPos; +    y = yPos; 
-      y = yPos; +  
-    +   
-     +  int getX() { 
-    ​public ​int getX() { +    return x; 
-      return x; +  
-    +   
-     +  void setX(int xPos) { 
-    ​public ​void setX(int xPos) { +    x = xPos; 
-      x = xPos; +  
-    +   
-     +  int getY() { 
-    ​public ​int getY() { +    return y; 
-      return y; +  
-    +   
-     +  void setY(int yPos) { 
-    ​public ​void setY(int yPos) { +    y = yPos; 
-      y = yPos; +  }
-    }+
 } }
 </​code>​ </​code>​
Line 52: Line 51:
  
 <code java Rectangle.java>​ <code java Rectangle.java>​
-public ​class Rectangle {+class Rectangle {
     ​     ​
   // the Rectangle class has 3 fields   // the Rectangle class has 3 fields
-  ​public ​int width; +  int width; 
-  ​public ​int height; +  int height; 
-  ​public ​Point origin;+  Point origin;
     ​     ​
   // the Rectangle class has one constructor   // the Rectangle class has one constructor
Line 66: Line 65:
   }   }
  
-  ​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 ​void setOrigin(Point newOrigin) {+  void setOrigin(Point newOrigin) {
     origin = newOrigin;     origin = newOrigin;
   }   }
   ​   ​
-  ​public void getOrigin() {+  ​Point getOrigin() {
     return origin;     return origin;
   }   }
   ​   ​
-  ​public ​void setOrigin(int newX, int newY) {+  void setOrigin(int newX, int newY) {
     origin.setX(newX);​     origin.setX(newX);​
     origin.setY(newY);​     origin.setY(newY);​
   }   }
-+}
 </​code>​ </​code>​
  
Line 92: Line 91:
  
 <WRAP todo 80% center round> <WRAP todo 80% center round>
-Μεταγλωττίστε τις δύο παραπάνω κλάσεις γράφοντας+Μεταγλωττίστε τις δύο παραπάνω κλάσεις ​στο τερματικό σας, ​γράφοντας
 <​code>​ <​code>​
 javac Point.java javac Point.java
java/class_fields.1519409103.txt.gz · Last modified: 2018/02/23 18:05 by gthanos