Bevezetés a kapszulába

Előfordultak olyan esetek, amikor üzleti követelmények miatt összetett kódot kell írni. Ez a kód nem lesz felhasználóbarát és nehezen érthető. Annak érdekében, hogy a program könnyebben olvasható legyen, becsomagolhatjuk a komplex kódrészletet egy kapszulába, és elrejthetjük. Ez egy további védelmi rétegként szolgál a kódban lévő bármilyen rosszindulatú befecskendezés ellen is. Ezt a kóddarabot akkor használhatjuk, ha meghívjuk annak példányát a főprogramba, ahelyett, hogy a teljes csomó összetett sort megírnánk. Ezt a funkciót kapszulázásnak hívják. Ez az objektum-orientált nyelvek egyik legfontosabb jellemzője. Ez azonban nem csak az OOP nyelvekre korlátozódik. C-ben a beágyazás a privát és a nyilvános kulcsszavak hiánya ellenére történt. Az kapsulációt számos más programozási nyelv, például C #, C ++, PHP, JAVA is használja.

Beágyazás működése a C

A kapszulázás működésének megértéséhez nézzük meg a való élet példáját. Fontolja meg egy nagyvállalatot, amely rendelkezik saját házon belüli könyvgyártó egységgel, és harmadik fél szállítóival történő megbeszéléssel szállítja azokat az ügyfeleknek. Annak érdekében, hogy ez az üzleti modell működjön, különféle részlegek vesznek részt, mint például a beszerzési osztály, a termelési osztály, az értékesítési osztály, a pénzügyi részleg. A beszerzési osztály gondoskodik az összes beszerzéssel összefüggő tevékenységről, például a tinta, papír, papírborító, nyomtató stb. Beszerzéséről. Az értékesítési részleg marketinggel, nyilvántartott értékesítéssel foglalkozik. A pénzügyi osztály felelőssége a pénzügyi ellenőrzések elvégzése, a nyereség / veszteség kiszámítása és jelentések közzététele, amelyek alapján kulcsfontosságú stratégiai döntéseket hoznak. Abban az esetben, ha az értékesítés csökkent, ez befolyásolta az üzleti pénzügyeket. Ekkor a pénzügyi részleg nem férhet hozzá közvetlenül az értékesítési adatokhoz. A pénzügyi részlegnek fel kell kérnie az értékesítési csapat tagját a releváns adatok megszerzésére. Ez a beágyazás. A pénzügyi tevékenység összes tevékenysége egy, a „pénzügyi részlegnek” nevezett szervezet alá tartozik.

A beágyazás ezen koncepcióját a C nyelv használja az adatok elrejtésére és védelmére. Ez akkor valósítható meg, ha a fő hívó programnak van objektuma, az objektumnak képesnek kell lennie az alkalmazható funkciók megtalálására, és ugyanúgy meg kell találni az adatokat.

A kapszulázás előnyei a C-ben

  1. Az kapsuláció elrejti a program végrehajtását, és így a jövőben az üzleti követelményeknek megfelelően könnyen olvasható és módosítható.
  2. Ez lehetővé teszi a frissített kódverzió telepítését, ahol csak szükséges, anélkül, hogy a teljes programot újra kellene szerkeszteni.
  3. Biztosítja a programot az adatok elrejtésének biztosításával.
  4. A beágyazás elősegíti a modul rugalmas programozását a kód rugalmasságáért.

Miért van szükség a C beágyazásra?

A C beágyazásra van szükségünk a C hozzáférés-módosítók manipulálásához. A hozzáférés-módosítók kifejezetten jelen vannak a C ++-ban például pl. Állami, magán, de kifejezetten nincsenek jelen a C-ben. A beágyazás biztonságos kódot is nyújt, amelyet jobban meg lehet érteni az alábbi szakaszban bemutatott példával. Ez elősegíti az alkalmazkodóképességet a változó követelményekkel, mivel bármelyik kód módosítást igényel, külön fájlban módosíthatja anélkül, hogy a főprogramban bármit megváltoztatna. Ez bizonyos mértékig egyszerű és hibamentes kódot ad.

Példa a C kapszulába

A C nyelvű adatok alapértelmezés szerint nyilvánosak. Bár a „Struct” változókat privátnak lehet nyilvánítani, a főosztálytól külön meghatározva. Ez úgy érhető el, ha külön fejléc és forrás C fájlok vannak. A fejléc fájlt a „.h” kiterjesztés követi, míg a C fájlokat a „.C” kiterjesztés követi. Az alábbi példában: Három fájl található

  1. p_variable.h
  2. main_prog.c
  3. Access_pfile.c

p_variable.h: Ez egy fejléc fájl, amelyet be kell vonni más „.c” fájlokba. Ez a fájl hivatkozásként szolgál a több fájlra szétszórt adatok között.

main_prog.c: Ez a fő végrehajtási fájl. Amikor ez végrehajtásra kerül, akkor a funkcióhívás olyan funkciókra történik, amelyekben más C fájlok vannak meghatározva, a struktúrákkal együtt.

Access_pfile.c: struktúrát tartalmazó fájl. Mivel az „struct” megköveteli a memória allokálását és elosztását, a standard C könyvtár egyes funkcióit, például a „malloc ()” és az „alloc ()” felhasználják.

Fájl: p_variable.h

#ifndef PRIVATE_VARIABLE
#define PRIVATE_VARIABLE
struct Con; // It is a variable to store contact
struct Con * create_contact(); // functional call to create function
void delete_contact( struct Con * some_contact ); // functional call to delete function
#endif //PRIVATE_VAR

Fájl: Access_pfile.c

#include "p_variable.h" //we hav included header file in this file so as to access the structure members. This is //an indirect way of accessing structures and thus implementing encapsulation.
#include
#include
struct Con //structure definition containing two members. Both the members are integer type
(
int mob_number;
int flat_number;
);
struct Con * create_contact() // structure declaration. In this code section we allocate memory for the data we //need to input in the above defined members. Malloc function allocates the memory.
(
struct Con * some_contact;
some_contact = malloc(sizeof(struct Con));
some_contact->mob_number = 1234567891;
some_contact->flat_number = 541;
return( some_contact );
)
void delete_contact( struct Con * some_contact )
(
free(some_contact); // this is tandard C function to de- allocate the memory. It frees up the memory so that //the same can be used by other programs.
)

Fájl: main_prog.c

#include "p_variable.h"
#include
int main()
(
struct Con * Meghna;
Meghna = create_contact();
printf( "Mobile number: %d\n", Meghna->mob_number); // This should cause compile time error as we are //trying to access the private struct member
delete_contact( Meghna );
return 0;
)

Kimenet:

Következtetés

A beágyazás a vezető lépés az objektum-orientált programozás felé. Ez a cikk információkat tartalmaz a C kapszulázásról. Accessor és mutátor módszerekkel, hozzáférés-módosítókkal használhatjuk a kapszulázást C #, C ++, PHP-ben is. A tulajdonságok előnye, hogy a felhasználók belső adat szempontjából manipulálhatják az objektumot egyetlen elnevezett elem használatával, amelynek az adatok és a funkcionalitás benne vannak meghatározva.

Ajánlott cikkek

Ez egy útmutató a C kapszulázáshoz. Itt tárgyaljuk a C kapszulázás bevezetését és szükségességét, valamint az Advantage és a példák példáját. A további javasolt cikkeken keresztül további információkat is megtudhat -

  1. Absztrakció vs beágyazás
  2. Beágyazás a Pythonba
  3. Beágyazás a Java-ba
  4. Beágyazás a PHP-be
  5. A beágyazás működése a JavaScript-ben
  6. Beágyazás a JavaScript-be

Kategória: