Johdatus kapselointiin C: ssä

On ollut tapauksia, että liiketoimintavaatimusten vuoksi meidän on kirjoitettava monimutkainen koodi. Tämä koodi ei ole käyttäjäystävällinen ja näyttää vaikea ymmärtää. Jotta ohjelma näyttää helpommalta luettavalta, voi kääriä monimutkainen koodinpätkä kapseliin ja piilottaa sen. Tämä toimii myös lisäsuojana kerralla koodin vahingollisilta injektioilta. Voimme sitten käyttää tätä koodinpätää kutsumalla sen ilmentymän pääohjelmaan sen sijaan, että kirjoittaisimme koko joukon monimutkaisia ​​rivejä. Tätä ominaisuutta kutsutaan kapseloinniksi. Se on yksi oliopohjaisten kielten ydinominaisuuksista. Se ei kuitenkaan rajoitu pelkästään OOP-kieliin. C-ryhmässä kapselointi on ollut huolimatta siitä, että yksityisiä ja julkisia avainsanoja ei ollut. Kapselointia käyttävät myös monet muut ohjelmointikielet, kuten C #, C ++, PHP, JAVA.

Kapseloinnin toiminta C: ssä

Kapseloinnin toiminnan ymmärtämiseksi tarkastellaan tosielämän esimerkkiä. Harkitse suurta yritystä, jolla on oma kirjojen tuotantoyksikkö ja joka toimittaa ne asiakkaille sitoumalla kolmansien osapuolien kanssa. Jotta tämä liiketoimintamalli toimisi, mukana on erilaisia ​​osastoja, kuten hankintaosasto, tuotantoosasto, myyntiosasto, talousosasto. Hankintaosasto huolehtii kaikista hankintoihin liittyvistä toimista, kuten musteiden, paperien, paperikansien, tulostimien jne. Hankkimisesta. Myyntiosasto työskentelee markkinoinnin, levymyynnin parissa. Rahoitusosaston vastuu suorittaa tilintarkastukset, laskea voitot / tappiot ja julkaista raportit, joiden perusteella tärkeät strategiset päätökset tehdään. Mikäli myynti laski ja tämä vaikutti liiketoiminnan talouteen. Silloin talousosastolla ei ole pääsyä suoraan myyntitietoihin. Rahoitusosaston on pyydettävä myyntitiimin jäsentä hankkimaan tarvittavat tiedot. Tämä on kapselointi. Kaikki rahoitustoiminta on kääritty yhdeksi kokonaisuudeksi, jota kutsutaan ”finanssiosaksi”.

Tätä kapseloinnin käsitettä käytetään C-kielellä tietojen piilottamiseen ja suojaamiseen. Se voidaan toteuttaa, kun pääsoitto-ohjelmalla on objekti, objektin tulisi pystyä löytämään soveltuvat toiminnot ja samalla tavalla ne löytävät datan.

Kapseloinnin edut C: ssä

  1. Kapselointi piilottaa ohjelman toteutuksen, joten sitä on helppo lukea ja muokata tulevaisuudessa liiketoiminnan tarpeiden mukaan.
  2. Sen avulla voimme ottaa käyttöön päivitetyn koodiversion tarvittaessa ilman, että vaaditaan koko ohjelman uudelleenjärjestelyä.
  3. Se turvaa ohjelman tarjoamalla tietojen piilottamisen toiminnot.
  4. Kotelointi edistää modulaarista ohjelmointitapaa, jonka avulla koodi on joustava.

Miksi kapselointia tarvitaan C: hen?

Tarvitsemme kapseloinnin C: hen manipuloidaksesi pääsyn muokkaimia C: ssä. Pääsyn muokkaimet ovat nimenomaisesti läsnä C ++: ssa esimerkiksi julkisella, yksityisellä, mutta niitä ei ole nimenomaisesti läsnä C: ssa. Vaikka voimme käyttää tätä ominaisuutta C: ssä toteuttamalla kapseloinnin. Kapselointi tarjoaa myös suojatun koodin, joka voidaan ymmärtää paremmin alla olevassa osassa esitetyllä esimerkillä. Tämä edistää mukautumista muuttuviin vaatimuksiin, koska kumpi koodi vaatii muutoksen, sitä voidaan muokata erillisessä tiedostossa muuttamatta mitään pääohjelmassa. Tämä antaa yksinkertaisen ja virheettömän koodin jossain määrin.

Esimerkki kapseloinnista C: ään

C-kielen tiedot ovat oletuksena julkisia. Vaikka ”Struct” -muuttujat voidaan julistaa yksityisiksi määrittelemällä ne erikseen pääluokasta. Tämä voidaan saavuttaa omistamalla erillinen otsikko- ja lähde C-tiedosto. Otsikkotiedostoa seuraa ".h" -pääte, kun taas C-tiedostoja seuraa ".C". Alla olevassa esimerkissä: Tiedostoja on kolme

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

p_variable.h: Se on otsikkotiedosto, joka on sisällytettävä muihin .c-tiedostoihin. Tämä tiedosto toimii linkkinä useisiin tiedostoihin hajallaan olevien tietojen välillä.

main_prog.c: Se on tärkein toteutustiedosto. Kun tämä suoritetaan, soitetaan funktiokutsuun, joka on määritelty muissa C-tiedostoissa yhdessä rakenteiden kanssa.

Access_pfile.c: Se on tiedosto, joka sisältää rakenteen. Koska “struct” vaatii muistin allokointia ja vapauttamista, käytetään joitain standardi C-kirjaston toimintoja, kuten “malloc ()” ja “alloc ()”.

Tiedosto: 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

Tiedosto: 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.
)

Tiedosto: 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;
)

lähtö:

johtopäätös

Kapselointi on johtava askel kohti olio-ohjelmointia. Tämä artikkeli antaa tietoa kapseloinnista C.: ssä. Käyttämällä apuvälineitä ja mutaattorimenetelmiä, pääsyn modifioijia, voimme hyödyntää kapselointia myös C #, C ++, PHP: ssä. Ominaisuuksien etuna on, että käyttäjät voivat manipuloida objektia sisäisestä datanäkökulmasta käyttämällä yhtä nimettyä kohdetta, jonka tiedot ja toiminnot on määritelty siinä.

Suositellut artikkelit

Tämä on opas kapselointiin C: ssä. Tässä keskustellaan kapseloinnin käyttöönotosta ja tarpeesta C: ssä sekä Advantagea ja esimerkkejä. Voit myös käydä läpi muiden ehdotettujen artikkeleidemme saadaksesi lisätietoja -

  1. Abstraktio vs. kapselointi
  2. Kapselointi Pythoniin
  3. Kapselointi Java
  4. Kapselointi PHP: hen
  5. Kapseloinnin toiminta JavaScriptillä
  6. Kapselointi JavaScriptiin