Aufzähltyp. Was ist das ?

Dieses Thema im Forum "Java Basics - Anfänger-Themen" wurde erstellt von Dit_, 14. Okt. 2009.

Status des Themas:
Es sind keine weiteren Antworten möglich.
  1. Dit_

    Dit_ Neues Mitglied

    Hallo

    in einer Aufgabe steht follgendes:

    Was wird hier mit Aufzähltyp gemeint? :shock:
     
  2. ARadauer

    ARadauer Aktives Mitglied

  3. SlaterB

    SlaterB Guest

  4. ARadauer

    ARadauer Aktives Mitglied

  5. Dit_

    Dit_ Neues Mitglied

    Code (Java):
    public class Medium {

       
        private String  name;
        private String  inhaltsangabe;
        private Ort     ort;
        private long    lagerBestand;
        private Preis   preis;
        public enum     Kategorie {Humor, Action, Abenteuer, Horror};
        public enum     MedienTyp {DVD, CD, Band, Audio_CD,VHS_Band,Zeitschrift,Buch};
       
       
       
        public Medium(String name, String inhaltsangabe, Ort ort,
                long lagerBestand, Preis preis, ???, ????) {
            super();
            this.name = name;
            this.inhaltsangabe = inhaltsangabe;
            this.ort = ort;
            this.lagerBestand = lagerBestand;
            this.preis = preis;
                    ???
                    ???
        }
    }
    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. SlaterB

    SlaterB Guest

    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. 0x7F800000

    0x7F800000 Neues Mitglied

    Code (Java):


    public enum     Kategorie {Humor, Action, Abenteuer, Horror};
        public enum     MedienTyp {DVD, CD, Band, Audio_CD,VHS_Band,Zeitschrift,Buch};

    public class Medium {

       
        private String  name;
        private String  inhaltsangabe;
        private Ort     ort;
        private long    lagerBestand;
        private Preis   preis;
            private Kategorie kategorie;
            ...
       
       
       
       
        public Medium(String name, String inhaltsangabe, Ort ort,
                long lagerBestand, Preis preis, Kategorie k, ????) {
            super();
            this.name = name;
            this.inhaltsangabe = inhaltsangabe;
            this.ort = ort;
            this.lagerBestand = lagerBestand;
            this.preis = preis;
                    kategorie=k;
                    ???
        }
    }
    am besten gar nicht, das sollte das gute Gewissen verbieten^^

    Ein Actionfilm würde etwa so aussehen:
    Code (Java):

    new Medium(String "Nid de guêpes", String "Menge geballer", Ort "F",
                long "1", Preis "20", Kategorie.Action, ????)
     
    Empfehlenswert ist es, übersichtshalber static imports zu benutzen.

    würde anders wenig sinn machen. Und die Aufzählungen sollten hier imho in separate Dateien.
     
  8. Dit_

    Dit_ Neues Mitglied

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

    0x7F800000 Neues Mitglied

    Nja, was heißt "Klassen"? [c]class[/c] erstellt Klassen, [c]enum[/c] erstellt Enums?
     
  10. SlaterB

    SlaterB Guest

    ein(e) enum(-Menge) ist quasi eine Klasse
     
  11. Dit_

    Dit_ Neues Mitglied

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

    Code (Java):
    public class MedienTyp {
       
        public enum MedienTypen {
            DVD, CD, Band, Audio_CD, VHS_Band, Zeitschrift, Buch};
           
    }
     
  12. SlaterB

    SlaterB Guest

    so muss sie aussehen:

    Code (Java):
    public enum MedienTyp {
       
            DVD, CD, Band, Audio_CD, VHS_Band, Zeitschrift, Buch;
           
    }
     
  13. 0x7F800000

    0x7F800000 Neues Mitglied

    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... :bahnhof:
     
  14. Dit_

    Dit_ Neues Mitglied

    ok danke sehr für eure Mühe :toll:
     
Status des Themas:
Es sind keine weiteren Antworten möglich.