Kezdőoldal » Számítástechnika » Programozás » JAVA egy osztályból csak EGY...

JAVA egy osztályból csak EGY példány?

Figyelt kérdés

Agyhullám könyvsorozat JAVA könyvében találtam egy feladatot, a szövege a következő:

Mit tehetsz, ha olyan osztályt szeretnél írni, amelyből csak EGY példány hozható létre, hogy mindenkinek, aki ebből az osztályból szeretne egy példányt, ezt az egy példányt kelljen használnia.


2012. máj. 17. 21:19
 1/6 anonim ***** válasza:
100%

Singleton pattern-nek nézz utána:

[link]

2012. máj. 17. 21:51
Hasznos számodra ez a válasz?
 2/6 A kérdező kommentje:
Hasonlóra én is gondoltam. Olyan lehetőség nincs, hogy az osztály konstruktorát buheráljuk meg? Értem ezalatt azt, hogy nem külön metódussal kelljen létrehozni az objektumot, hanem simán Singleton onlyOne = new Singleton(); módon szeretnék példányosítani.
2012. máj. 17. 22:27
 3/6 anonim ***** válasza:
Ehhez tartozik a duplán ellenőrzött zárolás (double checked ...). Lényege, hogy kétszer ellenőrzöd a példány létezését, mert lehet, hogy közben egy másik szál létrehozta. Ha még nem vettétek a párhuzamosságot, akkor nem kell.
2012. máj. 17. 22:28
Hasznos számodra ez a válasz?
 4/6 A kérdező kommentje:

Könyvből tanulgatok, sajnos nincs aki elmagyarázná nekem. Érdekel a programozás, tehetségem is van hozzá, de sajnos nincs pénzem tanárra, aki segít. Maradt a könyv. Ezt is nyertem egy programozás versenyen. A szálak még odébb vannak egy kicsit, tehát még ráér.


Köszönöm a válaszokat.

2012. máj. 17. 22:34
 5/6 anonim ***** válasza:

Akkor tudsz olyat csinálni, hogy deklarálsz egy static változót, mondjuk boolean amiben tárolod, hogy már lett-e létrehozva példány. Ha lett már létrehozva, akkor a konstruktorban dobsz egy exception-t és példányosításkor elkapod.

De a Singleton még mindig elegánsabb megoldás.

2012. máj. 17. 23:09
Hasznos számodra ez a válasz?
 6/6 anonim ***** válasza:
Nem kell tiltakozni a minták ellen, nem hiába találták ki őket. :P A singleton nem egy bonyolult minta, és csak azokat a tulajdonságokat tartalmazza, amik szükségesek a célja eléréséhez.
2012. máj. 21. 11:50
Hasznos számodra ez a válasz?

Kapcsolódó 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!