Private, public?
Mikor használjuk a privátot és mikor a publicot?
szíshárp" nyelvben
Objektum orientáltság egyik alap koncepciójának, az enkapszulációnak fontos elemei.
Egyszerűbben: A publicot minden osztályban látják a csomagon belül, a privatot meg csak abban ahol definiálták.
Privát: Amit csak az osztály használhat. Amihez futásidőben csak az osztály férhet hozzá (adattag vagy függvény).
Public: Amit más is használhat, (felül)írhat vagy (csak) olvashat. Ami futásidőben kívülről is hozzáférhető.
Ha írsz mondjuk egy adattömörítőt, akkor a külvilág számára csak a compress, decompress metódusok hívhatóak (plusz a (de)kompresszálandó adat) ezek lesznek publikusak, az összes többi függvény és adat privát lesz, azaz annak kell lennie.
A boltba bemehet bárki, ez a céged publikus része, de a műhelybe, ahol készülnek az árucikkek, már nem mehet be senki, csak az ott dolgozók meg te. Ez lesz a privát rész.
A vevőid csak a készterméket érhetik el, rendelhetik meg, de a gyártási folyamatot nem láthatják.
Onnan, hogy Te írod a kódot, Te tervezed az architektúrát, Te döntöd el.
Nyilván ehhez el kell olvasni pár jobb könyvet, meg megírni pár száz programot.
Egy 5 perces youtube videó megnézése után valóban nem fogod tudni.
"de nekem azt honnan kell tudjam, hogy az adott osztályt, változót mibe kell megadnom?"
Onnan, hogy mindig csak a legkevesebbet szabad engedni.
Ha van egy classod, ami tömörít, akkor csak a compress függvény legyen hívható. A belseje ne látszódjon. Ne lehessen hozzáférni a többi függvényhez csak belülről.
Ha csak a compress fgv. lesz public, akkor jó, mert a többi megírt fgv. nem fog látszani, nem is lehet hívni azokat, csak belülről.
Ugyanígy a tulajdonságokkal, adatokkal.
Ha van egy class, ami a képet elforgatja 90 fokkal, akkor nem kell láttatni a forgató rutint, sem azt, hogy milyen széles és milyen magas a kép, milyen bitmélységű, csak a képfile utvonala kell.
Kapcsolódó kérdések:
Minden jog fenntartva © 2025, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!