Aufzähltyp. Was ist das ?

Java Basics - Anfänger-Themen: Aufzähltyp. Was ist das ?



Erstellt von Dit_  |  Antworten: 13

  1. #1
    Dit_


    Aufzähltyp. Was ist das ?
    Hallo

    in einer Aufgabe steht follgendes:

    Der Medien-Typ ist ein Aufzähltyp mit einem der folgenden Werte:
    DVD
    CD
    Band
    Audio-CD
    VHS-Band
    Zeitschrift
    Buch
    Was wird hier mit Aufzähltyp gemeint?

  2. #2

  3. #3
    SlaterB

    Galileo Computing :: Java ist auch eine Insel (8. Auflage) – 6.4 Konstanten und Aufzählungen

    besonders ab
    6.4.4 Aufzählungen mit enum


    @ARadauer
    buh, veraltetes Buch

  4. #4
    ARadauer


    Zitat Zitat von SlaterB Beitrag anzeigen
    Galileo Computing :: Java ist auch eine Insel (8. Auflage) – 6.4 Konstanten und Aufzählungen

    besonders ab
    6.4.4 Aufzählungen mit enum


    @ARadauer
    buh, veraltetes Buch
    war zufällig der erste eintrag in google....

  5. #5
    Dit_


    Java Code:
    1. public class Medium {
    2.  
    3.  
    4. private String name;
    5. private String inhaltsangabe;
    6. private Ort ort;
    7. private long lagerBestand;
    8. private Preis preis;
    9. public enum Kategorie {Humor, Action, Abenteuer, Horror};
    10. public enum MedienTyp {DVD, CD, Band, Audio_CD,VHS_Band,Zeitschrift,Buch};
    11.  
    12.  
    13.  
    14. public Medium(String name, String inhaltsangabe, Ort ort,
    15. long lagerBestand, Preis preis, ???, ????) {
    16. super();
    17. this.name = name;
    18. this.inhaltsangabe = inhaltsangabe;
    19. this.ort = ort;
    20. this.lagerBestand = lagerBestand;
    21. this.preis = preis;
    22. ???
    23. ???
    24. }
    25. }


    ja ok was enum macht ist jetzt klar. aber
    - was schreibe ich im Konstruktor und was noch wichtiger ist
    - wie erstelle ich ein Objekt, zB als DVD und Horror ?

    muss ich dann enum als public deklarieren ?

  6. #6
    SlaterB

    Kategorie & MedienTyp sind quasi ganz normale Klassen,
    definiere die lieber erstmal in eigenen Dateien so wie Medium selber

    der Rest ist dann genauso wie bei den anderen Feldern:
    private String name;
    private Kategorie kat;

  7. #7
    0x7F800000


    Zitat Zitat von Dit_ Beitrag anzeigen
    - was schreibe ich im Konstruktor
    Java Code:
    1.  
    2.  
    3. public enum Kategorie {Humor, Action, Abenteuer, Horror};
    4. public enum MedienTyp {DVD, CD, Band, Audio_CD,VHS_Band,Zeitschrift,Buch};
    5.  
    6. public class Medium {
    7.  
    8.  
    9. private String name;
    10. private String inhaltsangabe;
    11. private Ort ort;
    12. private long lagerBestand;
    13. private Preis preis;
    14. private Kategorie kategorie;
    15. ...
    16.  
    17.  
    18.  
    19.  
    20. public Medium(String name, String inhaltsangabe, Ort ort,
    21. long lagerBestand, Preis preis, Kategorie k, ????) {
    22. super();
    23. this.name = name;
    24. this.inhaltsangabe = inhaltsangabe;
    25. this.ort = ort;
    26. this.lagerBestand = lagerBestand;
    27. this.preis = preis;
    28. kategorie=k;
    29. ???
    30. }
    31. }


    - wie erstelle ich ein Objekt, zB als DVD und Horror ?
    am besten gar nicht, das sollte das gute Gewissen verbieten^^

    Ein Actionfilm würde etwa so aussehen:
    Java Code:
    1.  
    2. new Medium(String "Nid de guêpes", String "Menge geballer", Ort "F",
    3. long "1", Preis "20", Kategorie.Action, ????)

    Empfehlenswert ist es, übersichtshalber static imports zu benutzen.

    muss ich dann enum als public deklarieren ?
    würde anders wenig sinn machen. Und die Aufzählungen sollten hier imho in separate Dateien.

  8. #8
    Dit_


    Verstehe nicht ganz... enum erstellt doch die Klassen Kategorie und MediumTyp oder ?

  9. #9
    0x7F800000


    Zitat Zitat von Dit_ Beitrag anzeigen
    enum erstellt doch die Klassen Kategorie und MediumTyp oder ?
    Nja, was heißt "Klassen"? [c]class[/c] erstellt Klassen, [c]enum[/c] erstellt Enums?

  10. #10
    SlaterB

    ein(e) enum(-Menge) ist quasi eine Klasse

  11. #11
    Dit_


    ok also so sieht meine MedienTyp Klasse. oder fehlt da noch was ?

    Java Code:
    1. public class MedienTyp {
    2.  
    3. public enum MedienTypen {
    4. DVD, CD, Band, Audio_CD, VHS_Band, Zeitschrift, Buch};
    5.  
    6. }

  12. #12
    SlaterB

    so muss sie aussehen:

    Java Code:
    1. public enum MedienTyp {
    2.  
    3. DVD, CD, Band, Audio_CD, VHS_Band, Zeitschrift, Buch;
    4.  
    5. }

  13. #13
    0x7F800000


    Zitat Zitat von SlaterB Beitrag anzeigen
    ein(e) enum(-Menge) ist quasi eine Klasse
    Nja, bis auf die Tatsache, dass man von dieser Klasse keine Objekte instantiieren kann... Also ich würde dann doch irgendwie eher dazu tendieren zu sagen, dass man mit [c]enum[/c] eher ein Enum erzeugt, und keine Klasse^^ Ist auch irgendwie einleuchtender...

  14. #14
    Dit_


    ok danke sehr für eure Mühe


Keine Antwort auf Deine Suche gefunden? Registriere Dich kostenlos und stelle Deine eigene Frage zu Java!

Jetzt kostenlos registrieren