java:class_fields

Τα πεδία της κλάσης

Ονοματολογία των πεδίων (μεταβλητών) της κλάσης

Οι κανόνες ονοματολογίας των μεταβλητών στην Java συνοψίζονται στα εξής:

  1. Τα ονόματα των μεταβλητών είναι case-sensitive. Κάθε μεταβλητή μπορεί να ξεκινά με ένα γράμμα της αλφαβήτου (κεφαλαίο ή μικρό), τον χαρακτήρα '\$' ή τον χαρακτήρα '_'. Αποφύγετε όμως οι μεταβλητές σας να ξεκινούν με τους χαρακτήρες '\$' ή '_' εκτός αν συντρέχει ισχυρός λόγος.
  2. Οι υπόλοιποι χαρακτήρες των μεταβλητών σας μπορεί να είναι γράμματα (κεφαλαία και μικρά), αριθμοί και οι χαρακτήρες '$', '_'. Αποφύγετε στην ονοματολογία σας μεταβλητές που έχουν μόνο ένα γράμμα (π.χ. int s, double c) εκτός και εάν πρόκειται για μεταβλητές δείκτες που χρησιμοποιούνται σε επανάληψη (π.χ for, while) .
  3. Αν το όνομα της μεταβλητής σας αποτελείται από μία λέξη τότε γράψτε την λέξη αυτή με μικρά γράμματα (π.χ. role, colour, speed). Εάν η μεταβλητή σας περιέχει δύο λέξεις ενώστε τις λέξεις αυτές κάνοντας το πρώτο γράμμα κάθε λέξης κεφαλαίο (π.χ. adminRole, brighterColour, maxSpeed, maxSpeedTest).
  4. Εάν η μεταβλητή σας ορίζεται ως σταθερά, δηλαδή χαρακτηρίζεται από το πρόθεμα static final (π.χ. static final double PI = 3.14159265359;), τότε χρησιμοποιήστε εξ ολοκλήρου κεφαλαία αντί για μικρά γράμματα.

Τύποι πεδίων της κλάσης

Μία κλάση μπορεί να διαθέτει

  1. primitive (βασικούς) τύπους δεδομένων: (πχ. int, long, char, double, float κλπ, σε αναλογία με τους τύπους δεδομένων της γλώσσας προγραμματισμού C) και
  2. reference τύπους δεδομένων: τύπους δεδομένων οι οποίοι περιγράφονται από κλάσεις.

Βασικούς τύπους δεδομένων συναντήσαμε στην κλάση Rectangle της προηγούμενης σελίδας. Reference τύποι δεδομένων είναι οι μη βασικοί τύποι δεδομένων που προδιαγράφονται από κλάσεις. Για παράδειγμα, ας πούμε ότι στο παραπάνω παράδειγμα θέλουμε να προσθέσουμε την θέση του ορθογώνιου παραλληλόγραμμου που ορίσαμε στην προηγούμενη παράγραφο στον χώρο. Η θέση του παραλληλογράμμου μπορεί να προσδιοριστεί από την παρακάτω κλάση Point η οποία περιγράφει ένα σημείο στο χώρο. Θεωρήστε ότι το σημείο προσδιορίζει την κάτω αριστερή γωνία του παραλληλογράμμου στον χώρο, όπως φαίνεται στο παρακάτω σχήμα.

Point.java
public class Point {
    private int x;   // x coordinate
    private int y;   // y coordinate
 
    public Point(int xPos, int yPos) {
      x = xPos;
      y = yPos;
    }
 
    public int getX() {
      return x;
    }
 
    public void setX(int xPos) {
      x = xPos;
    }
 
    public int getY() {
      return y;
    }
 
    public void setY(int yPos) {
      y = yPos;
    }
}

Με χρήση της παραπάνω κλάσης η κλάση Rectangle γίνεται.

Rectangle.java
public class Rectangle {
 
  // the Rectangle class has 3 fields
  public int width;
  public int height;
  public Point origin;
 
  // the Rectangle class has one constructor
  public Rectangle(int initWidth, int initHeight, Point initOrigin) {
    width = initWidth;
    height = initHeight;
    origin = initOrigin;
  }
 
  public void setWidth(int newWidth ) {
    width = newWidth;
  }
 
  public void setHeight(int newHeight ) {
    height = newHeight;
  }
 
  public void setOrigin(Point newOrigin) {
    origin = newOrigin;
  }
 
  public void getOrigin() {
    return origin;
  }
 
  public void setOrigin(int newX, int newY) {
    origin.setX(newX);
    origin.setY(newY);
  }
} 

Η κλάση Rectangle επομένως περιέχει εκτός από primitive πεδία και ένα reference πεδίο, το πεδίο origin.

Μεταγλωττίστε τις δύο παραπάνω κλάσεις γράφοντας

javac Point.java
javac Rectangle.java
java/class_fields.txt · Last modified: 2018/02/23 18:05 by gthanos