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:45] 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 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:wrapper_classes Βασικοί τύποι δεδομένων και ισοδύναμοι αναφορικοί τύποι ]]|
  
  
java/enum.1456494348.txt.gz · Last modified: 2016/02/26 13:45 by gthanos