Kezdőoldal » Számítástechnika » Programozás » Az enumerated állandókat...

Az enumerated állandókat mikor használják?

Figyelt kérdés
2012. aug. 21. 21:32
 1/8 Srapnel ***** válasza:

Az enumerated típusok lényege az, hogy csak jól meghatározott számú, egyedileg azonosított példánya van egy osztálynak.


Jó példa erre a hét napjai.

2012. aug. 22. 06:43
Hasznos számodra ez a válasz?
 2/8 tabaki ***** válasza:

Kedves Srapnel!

Próbálj olyat is mondani, amikor gyakorlati haszna is van a használatuknak. Én vasárnapi programozóként nemigen tudok kiagyalni olyasmit, amit ne tudnék szimpla állandókkal ugyanúgy megoldani.


Kedves kérdező!

Igen, én csaptam le a múltkor ugyanezt a kérdést. Szánom-bánom. Én nem láttam még igazán meggyőző példát, számomra inkább csak egy különösebb jelentőség nélküli lehetőség.

2012. aug. 22. 21:05
Hasznos számodra ez a válasz?
 3/8 Srapnel ***** válasza:

A hét napjait is jelölheted számokkal. Aztán egyszer valahol lehet pl. egy ilyen metódusod:


public boolean ünnepnap_e(int nap);


Mivel ez egész számot vár, ide beírhatsz bármit, ami jól esik, az egész nem típusbiztos.


Viszont ha van egy Nap enumod, akkor a metódus ilyen lenne:


public boolean ünnepnap_e(Nap nap);


Ide csak napokat tudsz írni, a fordító és az IDE is meggátol abban, ha valami teljesen mást szeretnél.


Abban is, hogy mondjuk két napot összeadj, vagy eloszd őket egymással, aminek pl. semmi értelme a napok esetén. (Pl. kedd * szerda, vagy csütörtök / péntek)


Szóval összefoglalva: típusbiztonság.

2012. aug. 23. 09:14
Hasznos számodra ez a válasz?
 4/8 Srapnel ***** válasza:

"Én nem láttam még igazán meggyőző példát, számomra inkább csak egy különösebb jelentőség nélküli lehetőség."


Az OOP is az az imperatív paradigmához képest. Sőt. Mindent, amit bármilyen nyelven meg tudsz írni, azt assemblyben, hovatovább, Turing-gépen is meg tudnád csinálni, csak hát úgy nem kényelmes. Már pedig az ember mindenhol szeretné saját munkáját megkönnyíteni. Tehát a jelentősége abban van, hogy további kényelmet és önmagyarázó tisztaságot ad a kódnak. A fenti két példából is jobban érthető, hogy mi a metódus argumentuma enummal, mint anélkül.

2012. aug. 23. 09:17
Hasznos számodra ez a válasz?
 5/8 tabaki ***** válasza:
Hm, igaz, igaz, köszönöm.
2012. aug. 23. 11:28
Hasznos számodra ez a válasz?
 6/8 anonim ***** válasza:

Egyszerűsíti az azonosítókat. Ha mondjuk játékban kell egy egység oldalát azonosítani, nem azt írod be hogy side = 0;

hanem mondjuk csinálsz pár enumot. Pl:


enum side {usa = 1, germany, ussr};

enum strenght { weak = 20, medium = 25, strong = 30};


struct soldier

{

soldier(int new_side, int new_health);

int side;

int health;

};



soldier joe(usa, weak);

soldier herman(germany, medium);

soldier ivan(ussr, strong);

2012. aug. 29. 17:50
Hasznos számodra ez a válasz?
 7/8 Srapnel ***** válasza:
A strength szerintem pont nem teljesen jó példa, mert azt nem csak felsorolni akarod, hanem számolni is akarsz vele. Persze lehet így is, de azt én meghagynám számnak.
2012. aug. 30. 07:19
Hasznos számodra ez a válasz?
 8/8 anonim ***** válasza:
Igen, lehet mondjuk pár sima konstansal is, de így egységbe lesznek szervezve egy tulajdonság mértékei, és átláthatóbb is lesz a programkód( nekem legalábbis) és sok előnye is megmarad, például a központi adat beállítgatás. Annyi a baja hogy csak int lehet, de egyszerűbb intes progiknál azért jól jöhet.
2012. aug. 30. 16:35
Hasznos számodra ez a válasz?

További kérdések:




Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!