object oriented programming c
Introduktion till objektorienterad programmering i C ++.
Med denna handledning börjar vi en serie handledning för att lära oss mer om C ++ som ett objektorienterat programmeringsspråk.
Som vi vet, före objektorienterad programmering (OOP), var program skrivna med procedurspråk. Procedurella språk betonar funktioner. De större problemen delas upp i mindre delproblem och skrivs som funktioner.
=> Se här för att utforska listan med fullständiga C ++ -studier.
Procedurspråk uppmärksammade inte data. Som ett resultat var möjligheten att inte ta itu med problemet på ett effektivt sätt stor. Eftersom data nästan försummades komprometterades datasäkerheten lätt.
Alla dessa nackdelar med procedurell programmering undanröjdes genom objektorienterad programmering.
I denna handledning kommer vi att diskutera grunderna för objektorienterad programmering och kort sagt alla funktioner i OOP.
Vad du kommer att lära dig:
- Objektorienterad programmering i C ++
- Varför C ++ är partiell OOP?
- OOP-funktioner
- Fördelar med OOP
- Slutsats
- Rekommenderad läsning
Objektorienterad programmering i C ++
Objektorienterad programmering kretsar kring data. Huvudprogrammeringsenheten för OOP är objektet. Ett objekt är en representation av en realtidsenhet och består av data och metoder eller funktioner som fungerar på data. På detta sätt är data och funktioner nära bundna och datasäkerhet garanteras.
I OOP representeras allt som ett objekt och när program körs interagerar objekten med varandra genom att skicka meddelanden. Ett objekt behöver inte veta implementeringsdetaljerna för ett annat objekt för att kommunicera.
Förutom objekt stöder OOP olika funktioner som listas nedan:
- Klasser
- Inkapsling
- Abstraktion
- Arv
- Polymorfism
Med OOP skriver vi program med klasser och objekt genom att använda ovanstående funktioner. Ett programmeringsspråk sägs vara ett riktigt objektorienterat programmeringsspråk om allt det representerar använder ett objekt. Smalltalk är ett språk som är ett rent objektorienterat programmeringsspråk.
Å andra sidan sägs programmeringsspråk som C ++ och Java vara partiella objektorienterade programmeringsspråk.
Varför C ++ är partiell OOP?
C ++ - språket designades med den huvudsakliga avsikten att använda objektorienterade funktioner till C-språk.
Även om C ++ språk stöder funktionerna i OOP som Classes, objects, arv, inkapsling, abstraktion och polymorfism, finns det få skäl på grund av vilka C ++ klassificeras som ett partiellt objektorienterat programmeringsspråk.
Java-intervju kodande frågor och svar
Vi presenterar några av dessa skäl nedan:
# 1) Skapande av klass / objekt är valfritt
I C ++ är huvudfunktionen obligatorisk och ligger alltid utanför klassen. Därför kan vi bara ha en huvudfunktion i programmet och kan klara oss utan klasser och objekt.
Detta är den första överträdelsen av Pure OOP-språket där allt representeras som ett objekt.
# 2) Användning av globala variabler
C ++ har ett koncept av globala variabler som deklareras utanför programmet och kan nås av någon annan enhet i programmet. Detta bryter mot inkapsling. Även om C ++ stöder inkapsling med avseende på klasser och objekt, tar det inte hand om det vid globala variabler.
# 3) Närvaro av en vänfunktion
C ++ stöder en vänklass eller funktion som kan användas för att komma åt privata och skyddade medlemmar i andra klasser genom att göra dem till en vän. Detta är ännu en funktion i C ++ som bryter mot OOP-paradigm.
För att avsluta, även om C ++ stöder alla OOP-funktioner som nämns ovan, ger den också funktioner som kan fungera som en lösning för dessa funktioner, så att vi kan klara oss utan dem. Detta gör C ++ till ett partiellt objektorienterat programmeringsspråk.
OOP-funktioner
Här presenterar vi olika OOP-funktioner som används för programmering.
Klasser och objekt
Ett objekt är en basenhet i objektorienterad programmering. Ett objekt innehåller data och metoder eller funktioner som fungerar på den informationen. Objekt tar plats i minnet.
En klass är å andra sidan en ritning av objektet. Omvänt kan ett objekt definieras som en förekomst av en klass. En klass innehåller ett skelett av objektet och tar inget utrymme i minnet.
Låt oss ta en Exempel av ett bilföremål. Ett bilobjekt med namnet “Maruti” kan ha data som färg; fabrikat, modell, hastighetsbegränsning etc. och funktioner som accelererar. Vi definierar ett annat objekt 'ford'. Detta kan ha liknande data och funktioner som för det tidigare objektet plus några fler tillägg.
På samma sätt kan vi ha många objekt med olika namn som har liknande data och funktioner och några mindre variationer.
Så istället för att definiera dessa liknande data och funktioner i dessa olika objekt, definierar vi en ritning av dessa objekt som är en klass som heter Car. Var och en av objekten ovan kommer att vara förekomster av denna klassbil.
Abstraktion
Abstraktion är processen att dölja irrelevant information från användaren. Till exempel , när vi kör bilen startar vi först motorn genom att sätta i en nyckel. Vi känner inte till processen som pågår i bakgrunden för start av motorn.
Med hjälp av abstraktion i programmering kan vi dölja onödiga detaljer för användaren. Genom att använda abstraktion i vår applikation påverkas inte slutanvändaren även om vi ändrar den interna implementeringen.
Inkapsling
Inkapsling är den process som använder data och de metoder eller funktioner som fungerar på dem buntas ihop. Genom att göra detta är data inte lätt tillgängliga för omvärlden. I OOP uppnår vi inkapsling genom att göra datamedlemmar som privata och ha offentliga funktioner för att komma åt dessa datamedlemmar.
Arv
Att använda arvobjekt av en klass kan ärva eller förvärva egenskaperna för objektet från en annan klass. Arv ger återanvändbarhet av kod.
Som sådan kan vi designa en ny klass genom att förvärva egenskaperna och funktionerna hos en annan klass och i den här processen behöver vi inte ändra funktionerna i moderklassen. Vi lägger bara till ny funktionalitet i klassen.
Polymorfism
Polymorfism betyder många former.
Polymorfism är ett viktigt inslag i OOP och implementeras vanligtvis som operatörsöverbelastning eller funktionsöverbelastning. Överbelastning av operatörer är en process där en operatör beter sig annorlunda i olika situationer. På samma sätt, vid funktionsöverbelastning, fungerar samma funktion annorlunda i olika situationer.
Dynamisk bindning
OOP stöder dynamisk bindning där funktionsanrop löses vid körning. Detta innebär att koden som ska köras som ett resultat av ett funktionsanrop bestäms vid körning. Virtuella funktioner är ett exempel på dynamisk bindning.
Meddelandet skickas
I OOP kommunicerar objekt med varandra med hjälp av meddelanden. När objekt kommunicerar skickas information fram och tillbaka mellan objekten. Ett meddelande består vanligtvis av objektnamnet, metodnamnet och faktiska data som ska skickas till ett annat objekt.
Fördelar med OOP
Låt oss diskutera några av fördelarna med OOP.
# 1) Återanvändbarhet
c ++ matriser i funktioner
OOP gör att den befintliga koden kan återanvändas genom arv. Vi kan enkelt förvärva befintlig funktionalitet och förbättra den utan att behöva skriva om koden igen. Detta resulterar i mindre uppsvälld kod.
# 2) Modularitet
När vi modulerar programmet i OOP är det enkelt att ändra eller felsöka programmet om ett problem uppstår eller en ny funktion eller förbättring ska läggas till. Modularisering hjälper också till med kodens tydlighet och gör den mer läsbar.
# 3) Flexibilitet
OOP hjälper oss med flexibel programmering med hjälp av funktionen polymorfism. Eftersom polymorfism har många former kan vi ha operatörer eller funktioner som kommer att fungera med många objekt och därmed spara oss från att skriva olika funktioner för varje objekt.
# 4) Underhållbarhet
Att underhålla koden är lättare eftersom det är enkelt att lägga till nya klasser, objekt etc. utan mycket omstrukturering eller ändringar.
# 5) Döljande av data och information
OOP hjälper oss att gömma oss och därmed skyddar information från att läcka. Endast de data som krävs för att programmet ska fungera smidigt exponeras för användaren genom att dölja inneboende detaljer.
Slutsats
OOP är det viktigaste och mest flexibla programmeringsparadigmet för modern programmering. Det är särskilt användbart vid modellering av verkliga problem och är därför mycket populärt.
Vi har diskuterat de olika funktionerna i OOP i denna handledning. Framöver kommer vi att diskutera alla dessa funktioner i detalj.
Nästa ämne i denna serie 'OOP med C ++' kommer att fokusera på klasser och objekt i detalj.
=> Klicka här för den absoluta C ++ träningsserien.
Rekommenderad läsning
- OOP Java: Introduktion till objektorienterad programmering i Java
- C ++ datatyper
- Topp 10 Data Science-verktyg 2021 för att eliminera programmering
- Dataabstraktion i C ++
- Introduktion till datastrukturer i C ++
- Unix Pipes Tutorial: Pipes in Unix Programming
- QTP-handledning # 8 - Lär dig om QTP-inspelningslägen, Object Spy och Object Repositories
- 70+ BEST C ++ självstudier för att lära dig C ++ programmering GRATIS