logo

C++ OOPs koncept

Huvudsyftet med C++-programmering är att introducera konceptet objektorientering till programmeringsspråket C.

Objektorienterad programmering är ett paradigm som ger många begrepp som t.ex arv, databindning, polymorfism mm.

Programmeringsparadigmet där allt representeras som ett objekt är känt som ett verkligt objektorienterat programmeringsspråk. Småprat anses vara det första verkligt objektorienterade programmeringsspråket.


OOPs (Object Oriented Programming System)

Objekt betyder ett verkligt ord såsom penna, stol, bord etc. Objektorienterad programmering är en metod eller ett paradigm för att designa ett program med hjälp av klasser och objekt. Det förenklar mjukvaruutveckling och underhåll genom att tillhandahålla några koncept:

terminal kali linux
Cpp Oj, koncept 1
  • Objekt
  • Klass
  • Arv
  • Polymorfism
  • Abstraktion
  • Inkapsling

Objekt

Varje entitet som har tillstånd och beteende är känd som ett objekt. Till exempel: stol, penna, bord, tangentbord, cykel etc. Det kan vara fysiskt och logiskt.

Klass

Samling av föremål kallas klass. Det är en logisk enhet.

En klass i C++ är det grundläggande elementet som leder till objektorienterad programmering. En klassinstans måste skapas för att få åtkomst till och använda den användardefinierade datatypens datamedlemmar och medlemsfunktioner. Ett objekts klass fungerar som dess ritning. Ta klassen bilar som ett exempel. Även om olika namn och märken kan användas för olika bilar, kommer alla att ha vissa egenskaper gemensamma, såsom fyra hjul, en hastighetsbegränsning, en räckvidd på mil, etc. I detta fall representeras bilklassen av hjulen, hastighetsbegränsningarna och körsträckan.

Arv

När ett objekt förvärvar alla egenskaper och beteenden för det överordnade objektet d.v.s. känt som arv. Det ger kodåteranvändning. Det används för att uppnå körtidspolymorfism.

  1. Underklass - Underklass eller härledd klass hänvisar till en klass som tar emot egenskaper från en annan klass.
  2. Superklass - Termen 'Basklass' eller 'Superklass' hänvisar till den klass från vilken en underklass ärver sina egenskaper.
  3. Återanvändbarhet - Som ett resultat, när vi vill skapa en ny klass, men en befintlig klass redan innehåller en del av koden vi behöver, kan vi generera vår nya klass från den gamla klassen tack vare arv. Detta gör att vi kan använda fälten och metoderna i den redan existerande klassen.

Polymorfism

När en uppgift utförs på olika sätt känd som polymorfism. Till exempel: att övertyga kunden annorlunda, att rita något t.ex. form eller rektangel etc.

Olika situationer kan göra att en operation beter sig annorlunda. Typen av data som används i operationen avgör beteendet.

Abstraktion

Döljer interna detaljer och visar funktionalitet kallas abstraktion. Dataabstraktion är processen att exponera för omvärlden endast den information som är absolut nödvändig samtidigt som implementering eller bakgrundsinformation döljs. Till exempel: telefonsamtal, vi känner inte till den interna behandlingen.

I C++ använder vi abstrakt klass och gränssnitt för att uppnå abstraktion.

Inkapsling

Att binda (eller linda) kod och data tillsammans till en enda enhet kallas inkapsling. Till exempel: kapsel, den är inslagen med olika mediciner.

t ff

Inkapsling förstås vanligtvis som en gruppering av relaterade delar av information och data i en enda enhet. Inkapsling är processen att knyta samman data och de funktioner som arbetar med den i objektorienterad programmering. Ta en titt på en praktisk illustration av inkapsling: på ett företag finns det olika divisioner, inklusive försäljningsdivisionen, finansdivisionen och redovisningsdivisionen. Alla finansiella transaktioner hanteras av finanssektorn, som också för register över alla finansiella data. På liknande sätt ansvarar försäljningssektionen för alla uppgifter som rör försäljning och för ett register över varje försäljning. Nu kan ett scenario inträffa när en finanstjänsteman av någon anledning kräver all information om försäljningen för en viss månad. Under paraplybegreppet 'säljsektion' grupperas alla anställda som kan påverka försäljningssektionens data. Dataabstraktion eller döljande är en annan bieffekt av inkapsling. På samma sätt som inkapsling döljer datan. I det ovannämnda exemplet kan något annat område inte komma åt någon av data från någon av sektionerna, såsom försäljning, ekonomi eller konton.

Dynamisk bindning - Vid dynamisk bindning fattas ett beslut vid körning angående koden som kommer att köras som svar på ett funktionsanrop. För detta stöder C++ virtuella funktioner.

Fördel med OOP framför procedurorienterat programmeringsspråk

  1. OOPs gör utveckling och underhåll enklare där det som i procedurorienterat programmeringsspråk inte är lätt att hantera om koden växer när projektstorleken växer.
  2. OOP:er ger datadöljning medan i procedurorienterat programmeringsspråk kan global data nås från var som helst.
  3. OOP ger möjlighet att simulera verkliga händelser mycket mer effektivt. Vi kan tillhandahålla lösningen av riktiga ordproblem om vi använder det objektorienterade programmeringsspråket.

Varför behöver vi oops i C++?

Det fanns olika nackdelar med de tidiga metoderna för programmering, såväl som dåliga prestanda. Tillvägagångssättet kunde inte på ett effektivt sätt ta itu med verkliga problem eftersom man, i likhet med procedurorienterad programmering, inte kunde återanvända koden i programmet igen, det fanns problem med global dataåtkomst och så vidare.

Med användning av klasser och objekt gör objektorienterad programmering kodunderhåll enkelt. Eftersom arv tillåter kodåteranvändning är programmet enklare eftersom du inte behöver skriva samma kod upprepade gånger. Datadöljning tillhandahålls också av idéer som inkapsling och abstraktion.

Varför är C++ en partiell oop?

De objektorienterade egenskaperna hos C-språket var den primära motivationen bakom konstruktionen av C++-språket.

Programmeringsspråket C++ kategoriseras som ett partiellt objektorienterat programmeringsspråk trots att det stöder OOP-koncept, inklusive klasser, objekt, arv, inkapsling, abstraktion och polymorfism.

1) Huvudfunktionen måste alltid ligga utanför klassen i C++ och är obligatorisk. Det betyder att vi får klara oss utan klasser och objekt och har en enda huvudfunktion i applikationen.

Det uttrycks som ett föremål i det här fallet, vilket är första gången Pure OOP har kränkts.

java visualizer

2) Globala variabler är en funktion i programmeringsspråket C++ som kan nås av vilket annat objekt som helst i programmet och som definieras utanför det. Inkapslingen är bruten här. Även om C++ uppmuntrar inkapsling för klasser och objekt, ignorerar den det för globala variabler.

Överbelastning

Polymorfism har också en delmängd som kallas överbelastning. En befintlig operatör eller funktion sägs vara överbelastad när den tvingas arbeta på en ny datatyp.

Slutsats

Du kommer att ha fått en förståelse för behovet av objektorienterad programmering, vad C++ OOPs är och grunderna för OOPs, såsom polymorfism, arv, inkapsling, etc., efter att ha läst denna kurs om OOPS Concepts i C++. Tillsammans med fall av polymorfism och arv lärde du dig också om fördelarna med C++ OOPs.