Bevezetés a C ++ kapszulázásba

A kapszulázás azt jelenti, hogy az adatokat és a funkciókat egyetlen kapszulába csomagolják. Ezenkívül a hozzáférés korlátozásával más osztályok adatait is védi. Alapvetően elrejti az adatokat. Ha valós példát veszünk a főiskolára, akkor különböző osztályok vannak, például a fizika, a kémia és a biológia, stb. Előfordulhat olyan helyzet, hogy a fizika tanszékvezetőjének valamilyen információra van szüksége a biológiai osztálytól, és nem tud közvetlenül az osztály részéről érheti el az adatokat. Először vegye fel a kapcsolatot a biológiai osztály vezetőjével, majd kérje meg az adatok megadását. A kapszulázás így működik.

Hogyan lehet beágyazni a C ++ -ot?

Ennek elérése érdekében az alábbi lépéseket kell követnünk:

  1. Először minden adatot magántulajdonossá kell tennünk.
  2. Ezután nyilvános összegyűjtési és beállító funkciókat kell létrehozni minden adattag számára úgy, hogy a get függvény megkapja az adattag értékét, és a beállított függvény beállítsa az adattag értékét.

A beágyazás és az adatok elrejtése a C ++ alkalmazásban elérhető, felhasználó által definiált osztályok, osztályok használatával. Az osztályok hozzáférési specifikátorai lehetnek privát, védett vagy nyilvános. Alapértelmezés szerint az osztály összes eleme privát. Igény szerint megváltoztathatjuk a hozzáférési szinteket. A hozzáférés-meghatározók három szintje a következő:

  • Privát : Ugyanazon osztály tagjai férhetnek hozzá az adatokhoz.
  • Nyilvános : Az összes osztály hozzáférhet az adatokhoz.
  • Védett : Az adatokhoz ugyanazon osztály vagy származtatott osztály tagjai férhetnek hozzá.

A kapszulázás leghatékonyabb felhasználása csak akkor történik, ha magán vagy védett felhasználást használunk. A nyilvános használat során meg kell győződnünk arról, hogy a kódban megismerjük annak megfelelő szükségességét.

Ennek magyarázata érdekében az alábbiakban bemutatjuk az osztályt.

A fizika, a kémia és a biológia itt kettős típusú és magánváltozók. A GetTotalMarks () egy nyilvános módszer, amellyel mindhárom tárgy összesített pontját lekérhetjük. Az egyes tantárgyakhoz nem férhetünk hozzá egy másik osztályban, annak védettségi szintje miatt. De hozzáférhetünk a módszerhez, és felhasználhatjuk az összes pont megszerzésére az egyes tárgyak átadásával. Az egyes alanyok jelölését beállító módszerrel állíthatjuk be, amelyet a következő példában fogunk megtekinteni.

Példa a C ++ -ba történő kapszulázásra lépésekkel

Az alábbiakban lépésről lépésre ismertetjük a beágyazást.

1) Vizsgáljuk meg azt a forgatókönyvet, amikor a hallgató összes pontját három tantárgy, azaz a fizika, a kémia és a biológia összegének kiszámításával kell kiszámítani. De az a helyzet, hogy egy másik osztály

2) Először írja be az iostream-et a bemeneti és kimeneti funkciókhoz.

3) Használja az std névteret

4) Írj osztályt az összes adat és funkció tárolására. Legyen hallgató.

5) Nyilatkoztassa a fizikai, kémiai és biológiai magántulajdonban lévő változókat. Ez azt mondja, hogy nem érhetjük el a változókat ezen a hallgató osztályon kívül. De lokálisan hozzáférhetünk hozzájuk, és szükség esetén módosíthatjuk az értéket. Az érték módosítása érdekében írhatunk nyilvános beállító funkciót, és elérhetjük azt egy másik osztályban.

6) Írj egy SetMarks nevû függvényt, amely a privát változók értékeinek beállítására szolgál. Mivel a fizika, kémia és biológia magánváltozókhoz nem férünk hozzá a hallgatói osztályon kívül, szükségünk van erre a funkcióra, hogy ezeket az értékeket a külső osztálytól megkapjuk. Ez a módszer nyilvános, mivel hozzá kell férnünk az osztályon kívül. Három paraméterre van szükség az egyes alanyok értékének megszerzéséhez. A függvényen belül beállítottuk a magánváltozók értékét.

7) Még egy módszerre van szükségünk ahhoz, hogy az összes pontszámot mind a három alanyból megkapjuk a pontok hozzáadásával. Ez a módszer szintén nyilvános. Csak hívja meg ezt a módszert az osztályon kívül, és megkapjuk a három tantárgy pontszámának összegét.

8) Most ezen az osztályon kívül megírjuk a fő függvényt.

9) Először a fő funkción belül hozzáférünk az osztályhoz, és létrehozunk egy osztály tárgyát.

10) A következő lépésben meghívjuk a funkciót, hogy beállítsuk a három téma jeleit. Itt átadjuk a jeleket paraméterként a függvénynek. Az alábbiakban bemutatjuk a kódot ennek eléréséhez.

11) Ezután megkapjuk az összes jelet és kinyomtatjuk az értéket. És a végén térjen vissza 0-ra.

12) Meg tudja tippelni a kód kimenetét? Igazad van. A kimenet az alább látható.

Teljesítmény: 240

13) Most elemezzük, hogyan kaptunk ezt a kimenetet. Mivel nem tudtuk elérni a magánváltozókat, egy Setter függvényt írtunk, amely más osztályok értékeit veszi át és módosítja a változókat. A Getter függvény beolvassa a változókat, hozzáadja azokat és elküldi a hallgató összesített pontját. Minden alkalommal, amikor három különféle értéket adunk át a beállító funkcióhoz, láthatjuk, hogy a kapott pontok száma is ennek megfelelően változik.

14) Ebből azt mondhatjuk, hogy a beágyazás segíti a szükséges adatok egy részének védelmét, valamint a beállító és a getter funkciókat használjuk az értékek megváltoztatására. Ezzel. A védelmet a célunk akadályozása nélkül is elérjük.

Következtetés

Ebben a cikkben megtudtuk, hogyan lehet a C ++ beágyazni. Ezzel elérhetjük a következő előnyöket.

  • A kapszulázás utáni osztályok növelik az olvashatóságot és csökkentik a bonyolultságot.
  • Segít az adatok védelmében.
  • Az osztály adatainak adatvédelme megváltoztatható anélkül, hogy a teljes kódot hozzáférési módosítók segítségével módosítanák.

Ajánlott cikkek

Ez egy útmutató a C ++ beágyazásához. Itt tárgyaljuk, hogyan lehet beágyazni a C ++ -ot, valamint a C ++ -ba történő beágyazás példáját. A következő cikkeket is megnézheti további információkért -

  1. Titkosítási algoritmus
  2. Szimmetrikus kulcs titkosítás
  3. Mi a titkosítás?
  4. Bevezetés a kapszulába
  5. Beágyazás a JavaScript-be (Előnyök)
  6. Hozzáférés-módosítók a PHP-ben

Kategória: