logo

C++ OOPs-konsepter

Hovedformålet med C++-programmering er å introdusere konseptet objektorientering til C-programmeringsspråket.

Objektorientert programmering er et paradigme som gir mange konsepter som f.eks arv, databinding, polymorfisme etc.

Programmeringsparadigmet hvor alt er representert som et objekt er kjent som et virkelig objektorientert programmeringsspråk. Småprat regnes som det første virkelig objektorienterte programmeringsspråket.


OOPs (Object Oriented Programming System)

Gjenstand betyr en ekte ord-enhet som penn, stol, bord osv. Objektorientert programmering er en metodikk eller paradigme for å designe et program ved hjelp av klasser og objekter. Det forenkler programvareutvikling og vedlikehold ved å tilby noen konsepter:

streng sammenlignet med java
Cpp Oops konsept 1
  • Gjenstand
  • Klasse
  • Arv
  • Polymorfisme
  • Abstraksjon
  • Innkapsling

Gjenstand

Enhver enhet som har tilstand og atferd er kjent som et objekt. For eksempel: stol, penn, bord, tastatur, sykkel etc. Det kan være fysisk og logisk.

Klasse

Samling av gjenstander kalles klasse. Det er en logisk enhet.

En klasse i C++ er det grunnleggende elementet som fører til objektorientert programmering. En klasseforekomst må opprettes for å få tilgang til og bruke den brukerdefinerte datatypens datamedlemmer og medlemsfunksjoner. Et objekts klasse fungerer som dets blåkopi. Ta klassen biler som et eksempel. Selv om forskjellige navn og merker kan brukes for forskjellige biler, vil alle ha noen egenskaper til felles, for eksempel fire hjul, en fartsgrense, en rekkevidde på mil osv. I dette tilfellet er bilklassen representert av hjulene, fartsbegrensningene og kjørelengden.

Arv

Når ett objekt erverver alle egenskapene og oppførselen til det overordnede objektet dvs. kjent som arv. Det gir kodegjenbrukbarhet. Det brukes til å oppnå runtime polymorfisme.

  1. Underklasse - Underklasse eller avledet klasse refererer til en klasse som mottar egenskaper fra en annen klasse.
  2. Superklasse - Begrepet 'Base Class' eller 'Super Class' refererer til klassen som en underklasse arver egenskapene sine fra.
  3. Gjenbrukbarhet - Som et resultat, når vi ønsker å opprette en ny klasse, men en eksisterende klasse allerede inneholder noe av koden vi trenger, kan vi generere vår nye klasse fra den gamle klassen takket være arv. Dette lar oss bruke feltene og metodene til den eksisterende klassen.

Polymorfisme

Når en oppgave utføres på forskjellige måter dvs. kjent som polymorfisme. For eksempel: å overbevise kunden annerledes, å tegne noe f.eks. form eller rektangel osv.

Ulike situasjoner kan føre til at en operasjon oppfører seg annerledes. Typen data som brukes i operasjonen bestemmer oppførselen.

Abstraksjon

Skjuler interne detaljer og viser funksjonalitet er kjent som abstraksjon. Dataabstraksjon er prosessen med å eksponere for omverdenen bare informasjonen som er absolutt nødvendig, samtidig som implementering eller bakgrunnsinformasjon skjules. For eksempel: telefonsamtale, vi kjenner ikke til den interne behandlingen.

I C++ bruker vi abstrakt klasse og grensesnitt for å oppnå abstraksjon.

Innkapsling

Å binde (eller pakke) kode og data sammen til en enkelt enhet er kjent som innkapsling. For eksempel: kapsel, den er pakket inn med forskjellige medisiner.

et eksempel på et åpen kildekode-os er

Innkapsling er vanligvis forstått som gruppering av relaterte deler av informasjon og data i en enkelt enhet. Innkapsling er prosessen med å binde sammen data og funksjonene som jobber med dem i objektorientert programmering. Ta en titt på en praktisk illustrasjon av innkapsling: i et selskap er det ulike divisjoner, inkludert salgsdivisjonen, finansdivisjonen og regnskapsdivisjonen. Alle finansielle transaksjoner håndteres av finanssektoren, som også fører oversikt over alle økonomiske data. På samme måte er salgsseksjonen ansvarlig for alle oppgaver knyttet til salg og fører en oversikt over hvert salg. Nå kan et scenario oppstå når en finansfunksjonær av en eller annen grunn krever all informasjon om salg for en bestemt måned. Under paraplybegrepet 'salgsseksjon' grupperes alle de ansatte som kan påvirke salgsseksjonens data. Dataabstraksjon eller skjule er en annen bivirkning av innkapsling. På samme måte som innkapsling skjuler dataene. I det nevnte eksemplet kan ikke noe annet område få tilgang til noen av dataene fra noen av seksjonene, for eksempel salg, finans eller kontoer.

Dynamisk binding - Ved dynamisk binding tas en avgjørelse ved kjøretid angående koden som skal kjøres som svar på et funksjonskall. For dette støtter C++ virtuelle funksjoner.

Fordel med OOPs fremfor prosedyreorientert programmeringsspråk

  1. OOPs gjør utvikling og vedlikehold enklere der det, som i prosedyreorientert programmeringsspråk, ikke er lett å administrere hvis koden vokser etter hvert som prosjektstørrelsen vokser.
  2. OOP-er gir dataskjul, mens i prosedyreorientert programmeringsspråk kan globale data nås fra hvor som helst.
  3. OOP-er gir muligheten til å simulere hendelser i den virkelige verden mye mer effektivt. Vi kan gi løsningen på et ekte ordproblem hvis vi bruker det objektorienterte programmeringsspråket.

Hvorfor trenger vi oops i C++?

Det var forskjellige ulemper med de tidlige metodene for programmering, samt dårlig ytelse. Tilnærmingen kunne ikke effektivt løse problemer i den virkelige verden siden du, i likhet med prosedyreorientert programmering, ikke kunne gjenbruke koden i programmet igjen, det var problemer med global datatilgang, og så videre.

Med bruk av klasser og objekter gjør objektorientert programmering kodevedlikehold enkelt. Fordi arv gir mulighet for gjenbruk av kode, er programmet enklere fordi du ikke trenger å skrive den samme koden gjentatte ganger. Dataskjuling er også gitt av ideer som innkapsling og abstraksjon.

Hvorfor er C++ en delvis oop?

De objektorienterte egenskapene til C-språket var den primære motivasjonen bak konstruksjonen av C++-språket.

C++-programmeringsspråket er kategorisert som et delvis objektorientert programmeringsspråk til tross for at det støtter OOP-konsepter, inkludert klasser, objekter, arv, innkapsling, abstraksjon og polymorfisme.

1) Hovedfunksjonen må alltid være utenfor klassen i C++ og er påkrevd. Dette betyr at vi kan klare oss uten klasser og objekter og ha en enkelt hovedfunksjon i applikasjonen.

Det er uttrykt som et objekt i denne saken, som er første gang Pure OOP blir brutt.

analog kommunikasjon

2) Globale variabler er en funksjon i C++-programmeringsspråket som kan nås av et hvilket som helst annet objekt i programmet og er definert utenfor det. Innkapslingen er brutt her. Selv om C++ oppmuntrer til innkapsling for klasser og objekter, ignorerer den det for globale variabler.

Overbelastning

Polymorfisme har også en undergruppe kjent som overbelastning. En eksisterende operatør eller funksjon sies å være overbelastet når den blir tvunget til å operere på en ny datatype.

Konklusjon

Du vil ha fått en forståelse av behovet for objektorientert programmering, hva C++ OOP-er er, og det grunnleggende i OOP-er, som polymorfisme, arv, innkapsling, etc., etter å ha lest dette kurset om OOPS-konsepter i C++. Sammen med tilfeller av polymorfisme og arv, lærte du også om fordelene med C++ OOPs.