encapsulation c
hvordan du spiller .bin-filer på pc
En komplett oversikt over innkapsling i C ++:
Vi diskuterte Abstraksjon i detalj i vår forrige opplæring. Abstraksjon skjuler som kjent implementeringsdetaljene fra brukeren og viser bare grensesnittet som kreves av brukeren.
I denne opplæringen vil vi diskutere enda et viktig trekk ved OOP, dvs. innkapsling. Abstraksjon og innkapsling går hånd i hånd. Faktisk kan vi si at den innkapslede koden hjelper oss med abstraksjon. Med andre ord er innkapsling og abstraksjon tett sammen.
=> Besøk her for hele C ++ kurset fra eksperter.
Dermed kan vi diskutere disse to begrepene sammen, da det er en veldig tynn linje mellom innkapsling og abstraksjon.
Hva du vil lære:
- Hva er innkapsling?
- Implementering av innkapsling
- Forskjellen mellom innkapsling og abstraksjon
- Konklusjon
- Anbefalt lesing
Hva er innkapsling?
Datakapsling refererer til prosessen med å binde sammen data og funksjoner eller metoder som fungerer på disse dataene til en enkelt enhet, slik at de er beskyttet mot interferens og misbruk utvendig.
Dette er et viktig objektorientert programmeringskonsept, og det fører til enda et OOP-konsept kjent som “ Skjuling av data ”. Innkapsling skjuler data og dets medlemmer, mens abstraksjon bare utsetter de nødvendige detaljene eller grensesnittene for omverdenen.
På en måte presenterer abstraksjon det “abstrakte synet” på skjulte data for omverdenen. Dermed uttalte vi allerede at innkapsling og abstraksjon går hånd i hånd.
En klasse i C ++ er den hvor vi samler sammen datamedlemmer og funksjonene som opererer på disse datamedlemmene sammen med tilgangsspesifikatorer som privat, offentlig og beskyttet representerer innkapsling. Vi har allerede diskutert tilgangsspesifikatorer i vår tidligere opplæring om klasser og objekter.
Vi vet også at klassemedlemmer som standard er private. Når vi erklærer klassemedlemmer som private og metoder for å få tilgang til klassemedlemmer som offentlige, implementerer vi virkelig innkapsling. Samtidig gir vi et abstrakt syn på data til omverdenen i form av offentlige metoder.
Implementering av innkapsling
Innkapsling i C ++ er implementert som en klasse som samler data og funksjonene som fungerer på disse dataene sammen. For det meste blir data erklært som private slik at de ikke er tilgjengelige utenfor klassen. Metodene eller funksjonene blir erklært offentlige og kan nås ved hjelp av objektet til klassen.
Vi kan imidlertid ikke få direkte tilgang til private medlemmer, og dette kalles skjuling av data. Når dette er gjort, er data sikret og kan bare nås med funksjoner i den aktuelle klassen der dataene blir deklarert.
// Example program #include #include using namespace std; //example class to demonstrate encapsulation class sampleData{ int num; char ch; public: //getter methods to read data values int getInt() const{ return num; } char getCh() const{ return ch; } //setter methods to set data values void setInt(int num) { this->num = num; } void setCh(char ch){ this->ch = ch; } }; int main() { sampleData s; s.setInt(100); s.setCh('Z'); cout<<'num = '< Produksjon:
num = 100
ch = Z

I programmet ovenfor har vi samlet to medlemsvariabler sammen med getter- og settermetodene i en klasse. og dette er et eksempel på innkapsling.
Vi har erklært to variabler, dvs. num og ch som private variabler, slik at de ikke er tilgjengelige for omverdenen. De er bare tilgjengelige for funksjonene vi har erklært som offentlige. Dermed har vi skjulte data-medlemmer som private variabler i en klasse.
La oss ta et annet eksempel for bedre å forstå innkapsling i C ++.
#include #include using namespace std; //Accounts class: includes salary info for a particular employee class Accounts{ int empId; double salary, basic, allowances, deductions; public: Accounts(int empId):empId(empId){} //read salary info void readEmployeeInfo(int empId){ cout<<'Enter basic for the employee'< basic; cout<>allowances; cout<>deductions; } //calculate salary double calculateSalary(){ salary = basic+ allowances - deductions; return salary; } //display details void display(){ salary = calculateSalary(); cout<<'Employee: '< Produksjon:
Angi grunnleggende for den ansatte1: 10000
kvoter: 4324,43
fradrag: 1000
Ansatt: 1
Lønn: 13324,4

Dette er nok et eksempel på innkapsling. Som vist ovenfor har vi en klassekontoer som samler kontodata og alle funksjonene som fungerer på disse dataene, i en enkelt klassekontoer. I hovedfunksjonen kan vi lage et objekt av denne klassen og få tilgang til funksjoner for å få ønsket informasjon.
Nå hvis noen andre klasser sier at medarbeideropplysningene vil ha tilgang til kontodata, kan den ikke gjøre det direkte. Det må opprette et objekt med klassekontoer og vil kun kunne få tilgang til de elementene som er offentlige. På denne måten garanterer vi tilgangskontroll av dataene ved hjelp av innkapsling, og vi garanterer også integriteten til dataene.
hvordan du spiller en mkv-fil på Windows
Forskjellen mellom innkapsling og abstraksjon
Abstraksjon og innkapsling er tett bundet sammen. Innkapsling hjelper til med abstraksjon ved å samle data og metoder som fungerer på disse dataene sammen.
Innkapsling Abstraksjon Skjuler dataene Skjuler implementering Samler data og metoder sammen Tilbyr brukeren et abstrakt grensesnitt som kun viser det som kreves Hjelpemidler til abstraksjon Hjelper til gjenbruk og sikkerhet av koden. Implementert som en klasse med tilgangsspesifikatorer som definerer tilgang til datamedlemmer og metoder Implementert som en abstrakt klasse og grensesnitt som ikke kan instantiseres.
Konklusjon
Innkapsling er en av de viktigste funksjonene i OOP, da det gir oss en måte å skjule dataene på. Dette gjør igjen data sikrere og beskytter dem mot ondsinnet bruk.
Innkapsling hjelper til med abstraksjon, slik at vi bare kan eksponere det nødvendige grensesnittet for sluttbrukeren og skjule andre detaljer tilsvarende. I denne opplæringen så vi på abstraksjon og innkapslingskonsepter i C ++.
I vår kommende opplæring vil vi diskutere Arv i C ++ med eksempler.
=> Besøk her for den eksklusive C ++ Training Tutorial Series.
Anbefalt lesing
- Dataabstraksjon i C ++
- C ++ datatyper
- Beste GRATIS C # opplæringsserie: The Ultimate C # Guide For Beginners
- 70+ BEST C ++ opplæringsprogrammer for å lære C ++ programmering GRATIS
- Biblioteksfunksjoner i C ++
- Objektorientert programmering i C ++
- Introduksjon til datastrukturer i C ++
- Initialiseringslister i C ++