object oriented programming c
Introduktion til objektorienteret programmering i C ++.
Med denne vejledning starter vi en række tutorials for at lære om C ++ som et objektorienteret programmeringssprog.
Som vi ved, blev programmer før objektorienteret programmering (OOP) skrevet med proceduremæssige sprog. Proceduremæssige sprog stressfunktioner. De større problemer opdeles i mindre delproblemer og skrives som funktioner.
=> Se her for at udforske den komplette C ++ tutorials-liste.
Processprog var ikke opmærksomme på data. Som et resultat var muligheden for ikke at løse problemet på en effektiv måde stor. Da data næsten blev forsømt, kom datasikkerheden også let i fare.
Alle disse ulemper ved procedureprogrammering blev overvundet af objektorienteret programmering.
I denne vejledning vil vi diskutere det grundlæggende i objektorienteret programmering og kort sagt alle funktionerne i OOP.
Hvad du vil lære:
- Objektorienteret programmering i C ++
- Hvorfor C ++ er delvis OOP?
- OOP-funktioner
- Fordele ved OOP
- Konklusion
- Anbefalet læsning
Objektorienteret programmering i C ++
Objektorienteret programmering drejer sig om data. OOP's vigtigste programmeringsenhed er objektet. Et objekt er en repræsentation af en realtidsenhed og består af data og metoder eller funktioner, der fungerer på data. På denne måde er data og funktioner tæt bundet, og datasikkerhed sikres.
I OOP er alt repræsenteret som et objekt, og når programmer udføres, interagerer objekterne med hinanden ved at sende meddelelser. Et objekt behøver ikke at kende implementeringsoplysningerne for et andet objekt til kommunikation.
Bortset fra objekter understøtter OOP forskellige funktioner, der er anført nedenfor:
- Klasser
- Indkapsling
- Abstraktion
- Arv
- Polymorfisme
Ved hjælp af OOP skriver vi programmer ved hjælp af klasser og objekter ved hjælp af ovenstående funktioner. Et programmeringssprog siges at være et ægte objektorienteret programmeringssprog, hvis alt det repræsenterer bruger et objekt. Smalltalk er et sprog, der er et rent objektorienteret programmeringssprog.
På den anden side siges programmeringssprog som C ++ og Java at være delvise objektorienterede programmeringssprog.
Hvorfor C ++ er delvis OOP?
C ++ sprog blev designet med den vigtigste hensigt at bruge objektorienterede funktioner til C-sprog.
Selvom C ++ sprog understøtter funktionerne i OOP som klasser, objekter, arv, indkapsling, abstraktion og polymorfisme, er der få grunde til, at C ++ er klassificeret som et delvist objektorienteret programmeringssprog.
bedste harddisk datagendannelsesfirma
Vi præsenterer et par af disse grunde nedenfor:
# 1) Oprettelse af klasse / objekter er valgfri
I C ++ er hovedfunktionen obligatorisk og er altid uden for klassen. Derfor kan vi kun have en hovedfunktion i programmet og kan undvære klasser og objekter.
Dette er den første overtrædelse af Pure OOP-sprog, hvor alt er repræsenteret som et objekt.
# 2) Brug af globale variabler
C ++ har et koncept med globale variabler, der erklæres uden for programmet og kan tilgås af enhver anden enhed i programmet. Dette overtræder indkapsling. Selvom C ++ understøtter indkapsling med hensyn til klasser og objekter, tager det sig ikke af det i tilfælde af globale variabler.
# 3) Tilstedeværelse af en venfunktion
C ++ understøtter en venklasse eller funktion, der kan bruges til at få adgang til private og beskyttede medlemmer af andre klasser ved at gøre dem til en ven. Dette er endnu et træk ved C ++, der krænker OOP-paradigmet.
For at konkludere, selvom C ++ understøtter alle OOP-funktioner nævnt ovenfor, giver den også funktioner, der kan fungere som en løsning på disse funktioner, så vi kan undvære dem. Dette gør C ++ til et delvist objektorienteret programmeringssprog.
OOP-funktioner
Her introducerer vi forskellige OOP-funktioner, der bruges til programmering.
Klasser og objekter
Et objekt er en basisenhed i objektorienteret programmering. Et objekt indeholder data og metoder eller funktioner, der fungerer på disse data. Objekter optager plads i hukommelsen.
En klasse er derimod en plan for objektet. Omvendt kan et objekt defineres som en forekomst af en klasse. En klasse indeholder et skelet af objektet og tager ikke plads i hukommelsen.
Lad os tage en Eksempel af en bilgenstand. En bilgenstand med navnet “Maruti” kan have data såsom farve; fabrikat, model, hastighedsbegrænsning osv. og funktioner som accelerere. Vi definerer et andet objekt 'ford'. Dette kan have lignende data og funktioner som det forrige objekt plus nogle flere tilføjelser.
På samme måde kan vi have adskillige objekter med forskellige navne, der har lignende data og funktioner og nogle mindre variationer.
Så i stedet for at definere disse lignende data og funktioner i disse forskellige objekter, definerer vi en plan for disse objekter, som er en klasse kaldet Car. Hver af objekterne ovenfor vil være forekomster af denne klasse bil.
Abstraktion
Abstraktion er processen med at skjule irrelevant information fra brugeren. For eksempel , når vi kører bilen, starter vi først motoren ved at indsætte en nøgle. Vi er ikke opmærksomme på den proces, der foregår i baggrunden for start af motoren.
Ved hjælp af abstraktion i programmering kan vi skjule unødvendige detaljer for brugeren. Ved at bruge abstraktion i vores applikation påvirkes ikke slutbrugeren, selvom vi ændrer den interne implementering.
Indkapsling
Indkapsling er den proces, hvor data og de metoder eller funktioner, der fungerer på dem, er samlet. Ved at gøre dette er data ikke let tilgængelige for omverdenen. I OOP opnår vi indkapsling ved at gøre datamedlemmer som private og have offentlige funktioner for at få adgang til disse datamedlemmer.
Arv
Brug af arveobjekt af en klasse kan arve eller erhverve egenskaberne for objektet fra en anden klasse. Arv giver genanvendelighed af kode.
Som sådan kan vi designe en ny klasse ved at erhverve egenskaberne og funktionaliteten af en anden klasse, og i denne proces behøver vi ikke ændre funktionaliteten i den overordnede klasse. Vi tilføjer kun ny funktionalitet til klassen.
Polymorfisme
Polymorfisme betyder mange former.
Polymorfisme er et vigtigt træk ved OOP og implementeres normalt som operatøroverbelastning eller funktionsoverbelastning. Operatøroverbelastning er en proces, hvor en operatør opfører sig forskelligt i forskellige situationer. Tilsvarende ved funktionsoverbelastning opfører den samme funktion sig forskelligt i forskellige situationer.
Dynamisk binding
OOP understøtter dynamisk binding, hvor funktionskald løses ved kørsel. Dette betyder, at koden, der skal udføres som et resultat af et funktionsopkald, bestemmes ved kørsel. Virtuelle funktioner er et eksempel på dynamisk binding.
Besked videregives
I OOP kommunikerer objekter med hinanden ved hjælp af beskeder. Når objekter kommunikerer, sendes information frem og tilbage mellem objekterne. En meddelelse består generelt af objektnavnet, metodens navn og faktiske data, der skal sendes til et andet objekt.
Fordele ved OOP
Lad os diskutere nogle af fordelene ved OOP.
# 1) Genanvendelighed
OOP gør det muligt at genbruge den eksisterende kode gennem arv. Vi kan nemt erhverve den eksisterende funktionalitet og forbedre den uden at skulle omskrive koden igen. Dette resulterer i mindre oppustet kode.
# 2) Modularitet
Når vi modulerer programmet i OOP, er det let at ændre eller foretage fejlfinding af programmet, hvis der opstår et problem, eller der skal tilføjes en ny funktion eller forbedring. Modularisering hjælper også med at skabe klarhed i koden og gør den mere læsbar.
c ++ regex-matcheksempel
# 3) Fleksibilitet
OOP hjælper os med fleksibel programmering ved hjælp af polymorfisme-funktionen. Da polymorfisme tager mange former, kan vi have operatorer eller funktioner, der fungerer med mange objekter og dermed redde os fra at skrive forskellige funktioner til hvert objekt.
# 4) Vedligeholdelse
Vedligeholdelse af kode er lettere, da det er let at tilføje nye klasser, objekter osv. Uden meget omstrukturering eller ændringer.
# 5) Skjulning af data og information
OOP hjælper os med at skjule data og dermed beskytte informationer til at lækkes. Kun de data, der kræves for, at programmet fungerer gnidningsløst, udsættes for brugeren ved at skjule iboende detaljer.
Konklusion
OOP er det vigtigste og fleksible programmeringsparadigme i moderne programmering. Det er specifikt nyttigt til modellering af virkelige problemer og er derfor meget populært.
Vi har diskuteret de forskellige funktioner i OOP i denne vejledning. Fremadrettet vil vi diskutere alle disse funktioner i detaljer.
Det næste emne i denne serie 'OOP med C ++' vil fokusere på klasser og objekter i detaljer.
=> Klik her for den absolutte C ++ træningsserie.
Anbefalet læsning
- OOP Java: Introduktion til objektorienteret programmering i Java
- C ++ datatyper
- Top 10 datavidenskabsværktøjer i 2021 til at fjerne programmering
- Dataabstraktion i C ++
- Introduktion til datastrukturer i C ++
- Unix Pipes Tutorial: Rør i Unix-programmering
- QTP-vejledning nr. 8 - Lær om QTP-optagelsestilstande, Object Spy og Object Repositories
- 70+ BEST C ++ tutorials til at lære C ++ programmering GRATIS