logo

C++ OOPs koncepter

Hovedformålet med C++-programmering er at introducere begrebet objektorientering til C-programmeringssproget.

Objektorienteret programmering er et paradigme, der giver mange begreber som f.eks arv, databinding, polymorfi mm.

Programmeringsparadigmet, hvor alt er repræsenteret som et objekt, er kendt som et virkeligt objektorienteret programmeringssprog. Småsnak betragtes som det første virkelig objektorienterede programmeringssprog.


OOP'er (Object Oriented Programming System)

Objekt betyder en ægte ord-entitet såsom kuglepen, stol, bord osv. Objektorienteret programmering er en metode eller et paradigme til at designe et program ved hjælp af klasser og objekter. Det forenkler softwareudvikling og vedligeholdelse ved at give nogle koncepter:

gimp eksport som jpg
Cpp Ups koncept 1
  • Objekt
  • Klasse
  • Arv
  • Polymorfi
  • Abstraktion
  • Indkapsling

Objekt

Enhver enhed, der har tilstand og adfærd, er kendt som et objekt. For eksempel: stol, kuglepen, bord, tastatur, cykel osv. Det kan være fysisk og logisk.

Klasse

Samling af genstande kaldes klasse. Det er en logisk enhed.

En klasse i C++ er det grundlæggende element, der fører til objektorienteret programmering. Der skal oprettes en klasseinstans for at få adgang til og bruge den brugerdefinerede datatypes datamedlemmer og medlemsfunktioner. Et objekts klasse fungerer som dets blueprint. Tag klassen af ​​biler som et eksempel. Selvom forskellige navne og mærker kan bruges til forskellige biler, vil de alle have nogle fælles egenskaber, såsom fire hjul, en hastighedsbegrænsning, en rækkevidde på miles osv. I dette tilfælde er bilklassen repræsenteret af hjulene, hastighedsbegrænsningerne og kilometertal.

Arv

Når et objekt erhverver alle egenskaber og adfærd for det overordnede objekt altså kendt som arv. Det giver kodegenanvendelighed. Det bruges til at opnå runtime polymorfi.

  1. Underklasse - Underklasse eller afledt klasse refererer til en klasse, der modtager egenskaber fra en anden klasse.
  2. Superklasse - Udtrykket 'Base Class' eller 'Super Class' refererer til den klasse, som en underklasse arver sine egenskaber fra.
  3. Genbrugelighed - Som et resultat, når vi ønsker at oprette en ny klasse, men en eksisterende klasse allerede indeholder noget af den kode, vi har brug for, kan vi generere vores nye klasse fra den gamle klasse takket være arv. Dette giver os mulighed for at bruge felterne og metoderne fra den allerede eksisterende klasse.

Polymorfi

Hvornår én opgave udføres på forskellige måder det vil sige kendt som polymorfi. For eksempel: at overbevise kunden anderledes, at tegne noget f.eks. form eller rektangel osv.

Forskellige situationer kan få en operation til at opføre sig anderledes. Typen af ​​data, der bruges i operationen, bestemmer adfærden.

Abstraktion

Skjuler interne detaljer og viser funktionalitet er kendt som abstraktion. Dataabstraktion er processen med at udsætte for omverdenen kun den information, der er absolut nødvendig, samtidig med at implementering eller baggrundsinformation skjules. For eksempel: telefonopkald, vi kender ikke den interne behandling.

I C++ bruger vi abstrakt klasse og interface til at opnå abstraktion.

Indkapsling

At binde (eller pakke) kode og data sammen til en enkelt enhed er kendt som indkapsling. For eksempel: kapsel, den er pakket ind med forskellige lægemidler.

java hvordan man konverterer streng til int

Indkapsling forstås typisk som gruppering af relaterede oplysninger og data i en enkelt enhed. Encapsulation er processen med at binde data sammen og de funktioner, der arbejder med dem i objektorienteret programmering. Tag et kig på en praktisk illustration af indkapsling: I en virksomhed er der forskellige divisioner, herunder salgsafdelingen, økonomiafdelingen og regnskabsafdelingen. Alle finansielle transaktioner håndteres af finanssektoren, som også fører registre over alle finansielle data. På samme måde er salgssektionen ansvarlig for alle opgaver i forbindelse med salg og fører en registrering af hvert salg. Nu kan der opstå et scenario, når en finansiel embedsmand af en eller anden grund kræver alle oplysninger om salg for en bestemt måned. Under paraplybegrebet 'salgssektion' er alle de medarbejdere, der kan påvirke salgssektionens data, grupperet sammen. Dataabstraktion eller skjule er en anden bivirkning af indkapsling. På samme måde som indkapsling skjuler dataene. I det førnævnte eksempel kan ethvert andet område ikke få adgang til nogen af ​​dataene fra nogen af ​​sektionerne, såsom salg, økonomi eller konti.

Dynamisk binding - Ved dynamisk binding træffes en beslutning ved kørsel med hensyn til den kode, der vil blive kørt som svar på et funktionskald. Til dette understøtter C++ virtuelle funktioner.

Fordel ved OOP'er frem for procedureorienteret programmeringssprog

  1. OOPs gør udvikling og vedligeholdelse lettere, hvor det som i Procedure-orienteret programmeringssprog ikke er let at administrere, hvis kode vokser i takt med, at projektstørrelsen vokser.
  2. OOP'er giver dataskjul, mens i Procedure-orienteret programmeringssprog kan globale data tilgås hvor som helst.
  3. OOP'er giver mulighed for at simulere begivenheder i den virkelige verden meget mere effektivt. Vi kan levere løsningen af ​​et rigtigt ordproblem, hvis vi bruger det objektorienterede programmeringssprog.

Hvorfor har vi brug for ups i C++?

Der var forskellige ulemper ved de tidlige programmeringsmetoder, såvel som dårlig ydeevne. Tilgangen kunne ikke effektivt løse problemer i den virkelige verden, da man i lighed med procedureorienteret programmering ikke kunne genbruge koden i programmet igen, der var problemer med global dataadgang og så videre.

Med brug af klasser og objekter gør objektorienteret programmering kodevedligeholdelse enkel. Fordi arv giver mulighed for genbrug af kode, er programmet enklere, fordi du ikke behøver at skrive den samme kode gentagne gange. Dataskjuling er også leveret af ideer som indkapsling og abstraktion.

Hvorfor er C++ en delvis oop?

De objektorienterede træk ved C-sproget var den primære motivation bag konstruktionen af ​​C++-sproget.

C++ programmeringssproget er kategoriseret som et delvist objektorienteret programmeringssprog på trods af, at det understøtter OOP-koncepter, herunder klasser, objekter, nedarvning, indkapsling, abstraktion og polymorfi.

1) Hovedfunktionen skal altid være uden for klassen i C++ og er påkrævet. Det betyder, at vi kan undvære klasser og objekter og have en enkelt hovedfunktion i applikationen.

Det er udtrykt som et objekt i denne sag, som er første gang, Pure OOP er blevet overtrådt.

img css align

2) Globale variabler er en funktion af programmeringssproget C++, som kan tilgås af ethvert andet objekt i programmet og defineres uden for det. Indkapslingen er brudt her. Selvom C++ tilskynder til indkapsling af klasser og objekter, ignorerer det det for globale variabler.

Overbelastning

Polymorfi har også en undergruppe kendt som overbelastning. En eksisterende operatør eller funktion siges at være overbelastet, når den er tvunget til at operere på en ny datatype.

Konklusion

Du vil have opnået en forståelse af behovet for objektorienteret programmering, hvad C++ OOP'er er, og det grundlæggende i OOP'er, såsom polymorfi, arv, indkapsling osv., efter at have læst dette kursus om OOPS Concepts i C++. Sammen med tilfælde af polymorfi og arv lærte du også om fordelene ved C++ OOP'er.