Avatar billede xirb Nybegynder
13. maj 2006 - 16:58 Der er 4 kommentarer og
1 løsning

Begrænsning af indholdet i variabel - bruge enums eller andet

Jeg har en klasse, Bog, der bruges til information om bøger. Heri skal angives bogens stand. Denne skal jeg senere bruge til at udregne brugtpris, så det er ikke godt at gemme stand som et "tilfældig" string.

Hvordan styrer jeg bedst (ikke lettest, men programmeringsmæssdigt mest korrekt) hvilken stand, bogen er i?

Jeg har overvejet en såkaldt enum, fx:
enum stand {"som ny", "ok", "slidt"}
- men er i tvivl om det den bedste måde - og hvordan jeg egentlig får agumentet sendt med i constructoren til bog..
Avatar billede arne_v Ekspert
13. maj 2006 - 17:50 #1
en num lyder som en udmærket ide

du kan sende en enum med over i constructor ligesom alle amdre data typer

[din enum skal vel bestå af navne ikke strenge ??]
Avatar billede xirb Nybegynder
13. maj 2006 - 18:32 #2
Ok, du har nok ret, så jeg bliver nødt til at kalde dem
enum stand {som_ny, ok, slidt}

.. hvordan sender jeg den så med til constructor:
Jeg kan skrive:
Bog bogen = new Bog(Bog.stand.som_ny);
- for min enum stand er jo kun kendt inde i klassen bog, hvor den er defineret.. Eller kan jeg mon definere den et andet smart sted, så jeg ikke skal skrive Bog.stand.som_ny hver gang den benyttes?
Avatar billede arne_v Ekspert
13. maj 2006 - 18:34 #3
Du kan erklære en BogStand enum på samme niveau som Bog class

og så

Bog b = new Bog(BogStand.som_ny);
Avatar billede xirb Nybegynder
13. maj 2006 - 18:40 #4
Takker!

Og så lige et begynderspørgsmål (yderligere) :

Bør jeg erklære min enum public eller..(er det unødvendigt)?
Det er vel konstanter, så der er ikke nogen fare i at lave den public?

(Skriv det gerne lige som svar, så jeg kan lukke. :-)
Avatar billede arne_v Ekspert
13. maj 2006 - 18:46 #5
helt klart public hvis Bog constructor er public
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester