User Tools

Site Tools


java:enum

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:enum [2016/02/26 13:44] gthanosjava:enum [2022/02/24 12:44] (current) gthanos
Line 1: Line 1:
 ====== Enumerations ====== ====== Enumerations ======
  
-Τα //enumerations// στην είναι ένας ειδικός τύπος δεδομένων που χρησιμοποιείται για την απεικόνιση συνόλων σταθερών τιμών. Όλα τα //enumerations// είναι απόγονοι της κλάση [[http://docs.oracle.com/javase/7/docs/api/java/lang/Enum.html|java.lang.Enum]]. Μπορείτε να θεωρήσετε όλους τους enumerated τύπους ως ειδικές κλάσεις που μπορούν να περιέχουν πεδία αλλά και μεθόδους.+Τα //enumerations// για την Java είναι ένας ειδικός τύπος δεδομένων που χρησιμοποιείται για την απεικόνιση συνόλων σταθερών τιμών. Όλα τα //enumerations// είναι απόγονοι της κλάσης [[http://docs.oracle.com/javase/7/docs/api/java/lang/Enum.html|java.lang.Enum]]. Μπορείτε να θεωρήσετε όλους τους enumerated τύπους ως κλάσεις ειδικού σκοπού που μπορούν να περιέχουν πεδία αλλά και μεθόδους
 + 
 +Η πιο απλή δήλωση ενός enumerated τύπου είναι η παρακάτω
  
-Η πιο απλή δήλωση ενός enumerated τύπου είναι η παρακάτω. 
 <code java LevelUsage.java> <code java LevelUsage.java>
 enum Level { HIGH, MEDIUM, LOW }; enum Level { HIGH, MEDIUM, LOW };
  
-public class LevelUsage { +class LevelUsage { 
-  public static void main(String []args) {+  static void main(String []args) {
     Level level = Level.HIGH;     Level level = Level.HIGH;
     System.out.println("level: "+level);     System.out.println("level: "+level);
Line 16: Line 17:
  
 <WRAP tip 80% center round> <WRAP tip 80% center round>
-Καθώς το //enum// αποτελεί από μόνο του τύπο δεδομένων μπορεί να αποθηκευτεί μόνο του σε αρχείο με το όνομα //**Level.java**//.+Καθώς το //enum// αποτελεί από μόνο του τύπο δεδομένων μπορεί να αποθηκευτεί μόνο του σε αρχείο με το όνομα **Level.java**
 + 
 +Παρατηρήστε ότι κάθε τύπος enum δηλώνει μία σειρά από σταθερές. Οι μεταβλητές αυτού του τύπου μπορούν να λάβουν μόνο μία από τις διακριτές τιμές του συνόλου των σταθερών.
 </WRAP> </WRAP>
  
-Από τον παραπάνω κώδικα εξάγεται ότι οι μεταβλητές τύπου enum Level μπορούν να πάρουν τις τιμές Level.HIGH, Level.MEDIUM και Level.LOW. Αν θέλετε να χρησιμοποιήσετε τον τύπο enum σε //if// ή //switch// statements μπορείτε να το κάνετε ως εξής:+Από τον παραπάνω κώδικα εξάγεται ότι οι μεταβλητές τύπου enum Level μπορούν να πάρουν τις τιμές **Level.HIGH****Level.MEDIUM** και **Level.LOW**. Αν θέλετε να χρησιμοποιήσετε τον τύπο //enum// σε εντολές //if// ή //switch//  μπορείτε να το κάνετε ως εξής:
  
 <code java LevelUsage.java> <code java LevelUsage.java>
 enum Level { HIGH, MEDIUM, LOW }; enum Level { HIGH, MEDIUM, LOW };
  
-public class LevelUsage { +class LevelUsage { 
-  public static void main(String []args) {+  static void main(String []args) {
     Level level = Level.HIGH;     Level level = Level.HIGH;
     if(level == Level.HIGH)      if(level == Level.HIGH) 
Line 37: Line 40:
 </code> </code>
  
-ή σε ένα switch+ή σε μία εντολή **switch**
  
 <code java LevelUsage.java> <code java LevelUsage.java>
 enum Level { HIGH, MEDIUM, LOW }; enum Level { HIGH, MEDIUM, LOW };
  
-public class LevelUsage { +class LevelUsage { 
-  public static void main(String []args) {+  static void main(String []args) {
     Level level = Level.HIGH;     Level level = Level.HIGH;
     switch(level) {     switch(level) {
Line 60: Line 63:
 </code> </code>
  
-Εάν θέλετε να διατρέξετε τις τιμές ενός enum μπορείτε να το κάνετε μέσω μίας εντολής //for// ως εξής:+Εάν θέλετε να διατρέξετε τις τιμές ενός enum μπορείτε να το κάνετε μέσω μίας εντολής //for//, όπως παρακάτω:
  
 <code java LevelUsage.java> <code java LevelUsage.java>
 enum Level { HIGH, MEDIUM, LOW }; enum Level { HIGH, MEDIUM, LOW };
  
-public class LevelUsage { +class LevelUsage { 
-  public static void main(String []args) {+  static void main(String []args) {
     Level level = Level.HIGH;     Level level = Level.HIGH;
     for(Level l: Level.values())      for(Level l: Level.values()) 
Line 74: Line 77:
 </code> </code>
  
-/* +Για να εκτυπώσετε την τιμή ενός enum ως αλφαριθμητικό μπορείτε να χρησιμοποιήσετε τη μέθοδο [[https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html#name--|name]] της κλάσης [[http://docs.oracle.com/javase/7/docs/api/java/lang/Enum.html|java.lang.Enum]]: 
-===== Πεδία και μέθοδοι σε Enum =====+<code java> 
 +enum Level { HIGH, MEDIUM, LOW };
  
-Ένας τύπος enum μπορεί να περιέχει πεδία, κατασκευαστές και μεθόδους ως εξής: +class LevelUsage { 
- +  static void main(String []args{ 
-<code java LevelUsage.java> +    Level level = Level.HIGH
-enum Level +    System.out.println("Current level is " level.name());
-  HIGH  (3),  //calls constructor with value 3 +
-  MEDIUM(2),  //calls constructor with value 2 +
-  LOW   (1) //calls constructor with value 1 +
- +
-  private int levelCode; +
- +
-  Level(int levelCode) { +
-    this.levelCode = levelCode+1;+
   }   }
-   
-  public void setLevelCode(int lc) { 
-    levelCode = lc; 
-  } 
-   
-  public int getLevelCode() { 
-    return this.levelCode; 
-  } 
-   
-  public String toString() { 
-    return "My Level is: "+levelCode; 
-  }   
 } }
 +</code>
  
-public class LevelUsage { 
-  public static void main(String [] args) { 
-  } 
-} 
-</code> 
-*/ 
  
-|Προηγούμενο: [[:java:toString | Η μέθοδος toString ]] | [[:toc | Περιεχόμενα]] | Επόμενο: [[:java:packages:intro Πακέτα στη γλώσσα προγραμματισμού Java ]]|+|Προηγούμενο: [[:java:toString | Η μέθοδος toString ]] | [[:toc | Περιεχόμενα]] | Επόμενο: [[java:wrapper_classes Βασικοί τύποι δεδομένων και ισοδύναμοι αναφορικοί τύποι ]]|
  
  
java/enum.1456494271.txt.gz · Last modified: 2016/02/26 13:44 (external edit)