Pages

Sunday, August 15, 2010

Java 102 - Κλάσεις & Primitive Data Types (1)

Θα αρχίσω με λίγη θεωρία και θα μεταφράσω μερικές ερωταπαντήσεις από τo Java Tutorials.

Τι είναι μια κλάση/Τι είναι ένα αντικείμενο;

Στο πραγματικό κόσμο συχνά συναντάμε πολλά ξεχωριστά αντικείμενα του ίδιου τύπου. Μπορεί να υπάρχουνε χιλιάδες ποδήλατα ανα το κόσμο, ίδιας μάρκας και ίδιου μοντέλου. Κάθε ποδήλατο φτιάχτηκε από τo ίδιο πρότυπο/προσχέδιο κι έτσι περιέχει τα ίδια μέρη με όλα τα υπόλοιπα ποδήλατα.
Λέμε ότι το κάθε ξεχωριστό ποδήλατο είναι ένα στιγμιότυπο της γενικότερης κλάσης των αντικειμένων γνωστών ως ποδήλατα.
Η κλάση είναι αυτό το πρότυπο το οποίο αναφέραμε και από το οποίο όλα τα υπόλοιπα ποδήλατα δημιουργούνται.
Αντικείμενα είναι όλα τα μεμονομένα ποδήλατα που προέρχονται/δημιουργούνται από την πρότυπη κλάση.

Ας κάνουμε μια διαφορετική υλοποίηση με αυτοκίνητα αντί για ποδήλατα :

class Car {

   int engineCC = 0;
   int horsePower = 0;
   boolean automaticTransmission = false;

   void setEngineCC(int newValue) {
      engineCC = newValue;
   }
   void setHorsePower(int newValue) {
      horsePower = newValue;
   }
   void hasAutomaticTransmission(boolean newValue) {
      automaticTransmission = newValue;
   }
   void printCharacteristics() {
      System.out.println("Engine CC : " + engineCC);
      System.out.println("Horse Power : " + horsePower);
      System.out.println("Automatic Transmission : " + automaticTransmission);
   }
}

Παραπάνω ορίσαμε μία κλάση αυτοκινήτων η οποία μπορεί να λειτουργήσει ως πρότυπο για πιο εξειδικευμένες κλάσεις/αντικείμενα.
Θα προχωρήσω λίγο το παράδειγμα και θα φτιάξω μια νέα κλάση :

class BMW extends Car { // inheritance (κληρονομικότητα) η οποία θα καλυφθεί σε αργότερο post.

   String model = new String();
   String color = new String();
   int price;

   BMW() {}

   void setModel(String newValue) {
      model = newValue;
   }
   void setColor(String newValue) {
      color = newValue;
   }
   void setPrice(int newValue) {
      price = newValue;
   }
}

Με αυτή τη πιό λεπτομερή κλάση μπορούμε μετά να δημιουργήσουμε και πιο ολοκλήρωμενα αντικείμενα τα οποία δε θα είναι τόσο "αφηρημένα".

class myApplication {
   public static void main(String[] args) {
      BMW testCar = new BMW();
   }
}

No comments:

Post a Comment