java:enum

Differences

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

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Last revision Both sides next revision
java:enum [2016/02/26 13:45]
gthanos
java:enum [2022/02/24 12:43]
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 17: Line 18:
 <WRAP tip 80% center round> <WRAP tip 80% center round>
 Καθώς το //enum// αποτελεί από μόνο του τύπο δεδομένων μπορεί να αποθηκευτεί μόνο του σε αρχείο με το όνομα **Level.java**. Καθώς το //enum// αποτελεί από μόνο του τύπο δεδομένων μπορεί να αποθηκευτεί μόνο του σε αρχείο με το όνομα **Level.java**.
 +
 +Παρατηρήστε ότι κάθε τύπος enum δηλώνει μία σειρά από σταθερές. Οι μεταβλητές αυτού του τύπου μπορούν να λάβουν μόνο μία από τις διακριτές τιμές του συνόλου των σταθερών.
 </WRAP> </WRAP>
  
Line 24: Line 27:
 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:packages:intro | Πακέτα στη γλώσσα προγραμματισμού Java ]]|
  
  
java/enum.txt · Last modified: 2022/02/24 12:44 by gthanos