Kezdőoldal » Számítástechnika » Programozás » Satic és a privat között mi a...

Satic és a privat között mi a különbség? C#

Figyelt kérdés
C sharp ban vki le tudná írni mi a különbség a static és a private kötött részletesen? előre is nagyon szépen köszönöm a válaszokat :)

2014. márc. 8. 22:10
 1/6 anonim ***** válasza:

static: osztályszintű

Ha egy adattag statikus, az azt jelenti, hogy egyetlen darab van belőle és az osztályhoz tartozik, nem az egyes objektumokhoz. Például ha iskolai osztályt nézünk, ott az évfolyam egy statikus, osztályszintű dolog, ellentétben az objektumszintű dologgal, mint például a név, mert az minden objektumnál (diáknál) egyedi.


private:

A privát adattagot/metódust csak az az objektum látja/éri el, amelyikhez tartozik. Szemben a protecteddel, amit csak ő és a leszármazottjai érnek el; illetve a public-kal, amit bármelyik másik objektum lát.

2014. márc. 8. 22:38
Hasznos számodra ez a válasz?
 2/6 anonim ***** válasza:

#1 vagyok kiegészítés:

A private és static nem zárják ki egymást, másfajta dolgot mondanak meg. A private láthatóság módosító, a static meg a "szintet" mondja meg, hogy obj./osztályszinten létezzen az adott dolog.


Lehet valami private és static egyszerre, ekkor egy osztályszintű cuccról lesz szó, amit csak az adott osztály objektumai fognak látni.

2014. márc. 8. 22:43
Hasznos számodra ez a válasz?
 3/6 Tengor ***** válasza:

Ahogy #1 is írta a kettő nem zárja ki egymást.

A _nem_ statikus adattagok a akkor jönnek létre a memóriában, amikor a new-al létrehozod az objektumot. Ha 100 objektumot hozol létre, akkor 100-szor foglalódik le a hely a változónak és mindegyik objektum tudja, hogy melyik a sajátja.

Ezzel szemben a statikus adattag az osztály része, már az osztály első feltűnésekor lefoglalódik _egyszer_. Bármennyi objektumot is hozol létre ez a változó csak egyszer fogja a helyet foglalni a memóriában és bármi is próbálja módosítani (osztályból származó objektumok vagy mások) csak azt az egyet tudják módosítani.

2014. márc. 8. 23:29
Hasznos számodra ez a válasz?
 4/6 anonim ***** válasza:

"A privát adattagot/metódust csak az az objektum látja/éri el, amelyikhez tartozik."


Inkább az osztály. Ha az osztály egy függvénye megkapja paraméterként az objektumot, akkor látja a privát adattagját. Míg, ha egy bármilyen másik függvénynek átadod, az nem látja.

Például az osztály egy statikus függvénye egy objektumot vár az adott osztályból, és csinál a privát adataival is valamit. (mondjuk ekkor nem árt elgondolkozni, hogy ez a függvény mi a f**ért statikus, ha egyszer vár egy példányt :) )

2014. márc. 9. 00:02
Hasznos számodra ez a válasz?
 5/6 anonim ***** válasza:
#1 vagyok, #4-esnek: valóban, a privát cuccokat az osztálybeliek is látják, köszi a korrekciót :)
2014. márc. 9. 00:12
Hasznos számodra ez a válasz?
 6/6 anonim ***** válasza:
Nagyon jól leírták. Kiegészítésül még annyit, hogy a static adattag akkor is létezik, ha nem példányosítod az osztályt. Tehát objektum nélkül maga az osztály is tárolhat benne infót, és bizonyos (static) metódusok dolgozhatnak vele, létrehozott objektum nélkül is.
2014. márc. 10. 13:34
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!