C # beágyazás
Az "encapsulation" kifejezést úgy definiáljuk, hogy "egy vagy több elem fizikai vagy logikai csomagba történő csatolásával." Az objektumorientált programozás programozási módszereiben a beágyazás megakadályozza a végrehajtás részleteinek illetéktelen hozzáférését.
Absztrakció és kapszulázással kapcsolatos funkciók objektumorientált programozásban. Az absztrakció lehetővé teszi a releváns információk láthatóvá tételét és a kapszulázás lehetővé teszi a programozó számára a szükséges absztrakciós szint megvalósítását.
A kapszulázást kiegészítők segítségével hajtják végre, a hozzáférési specifikátor meghatározza az osztálytag hatókörét és láthatóságát. A C # a következő hozzáférési specifikátorokat támogatja:
- nyilvános
- magán
- védett
- belső
- Védett belső
Nyilvános Hozzáférés Pályázat
Az Open Access Specifier lehetővé teszi egy osztály számára, hogy tárja ki tagváltozóit és tagfunkcióit más funkciók és objektumok számára. Bármely nyilvános elem elérhető az osztályon kívülről.
Az alábbi példa szemlélteti ezt:
A fenti kód összeállítása és végrehajtása után a következő eredményt kapja:
Az előző példában a tagváltozók hosszúságát és szélességét nyilvánosan deklarálják, így a Main () függvényből érhetők el. a Rectangle osztály egy példányának használatával
A tagfunkció, a Display () és a GetArea () szintén közvetlenül hozzáférhetnek ezekhez a változókhoz. anélkül, hogy bármilyen osztályú példányt használna.
A Display () tagfunkciói szintén nyilvánosságra vannak hozva, így elérhetők a Main () -ból is. a Rectangle osztály egy példányának használatával
Privát hozzáférés Pályázat
A privát hozzáférési specifikátor lehetővé teszi egy osztály számára, hogy elrejtse tagváltozóit és tagfunkcióit más funkcióktól és objektumtól. Csak az azonos osztályú funkciók férhetnek hozzá magánszemélyeihez. Még az osztály egy példánya sem férhet hozzá magánszemélyeihez.
Az alábbi példa szemlélteti ezt:
A fenti kód összeállítása és végrehajtása után a következő eredményt kapja:
Az előző példában a tagváltozók hosszát és szélességét zártnak nyilvánítják, így nem érhetők el a Main () függvényből. A AccessDetails () és Display () tagfunkciói hozzáférhetnek ezekhez a változókhoz. Mivel az AcceptDetails () és a Display () függvények nyilvánosan deklaráltak, elérhetõk a Main () -ból. a Rectangle osztály egy példányának használatával
Biztonságos hozzáférés Pályázat
A hozzáférési specifikátor által védett módon a gyermek osztály hozzáférhet a tagváltozókhoz és az alap osztályhoz tartozó tagfunkciókhoz. Így segít az öröklés végrehajtásában. Ezt részletesebben az örökség fejezetében tárgyaljuk.
Belső hozzáférési specifikátor
A belső Access Qualifier lehetővé teszi az osztály számára, hogy az aktuális összeállításban megjelenítse a tagváltozóit és tagfunkcióit más funkciók és objektumok számára. Más szavakkal, bármelyik belső beléptetési minősítővel rendelkező tag bármely olyan osztályban vagy módszerben érhető el, amelyet az alkalmazásban definiálnak.
Ezt a következő program szemlélteti:
A fenti kód összeállítása és végrehajtása után a következő eredményt kapja:
Az előző példában figyeljen. hogy a tagfunkció GetArea () nem jelenik meg semmilyen hozzáférési minősítéssel. Akkor mi lesz az osztály tagjának alapértelmezett tartozéka, ha nem említünk semmit? Privát.
Biztonságos hozzáférés Pályázat Belső
A védett belső segédeszköz lehetővé teszi az osztály számára, hogy elrejtse tagváltozóit és tagfunkcióit más objektumoktól és osztályfüggvényektől, kivéve a gyermekosztályt ugyanabban az alkalmazásban. Ezt az öröklés végrehajtásánál is használják.