object oriented programming c
Uvod v objektno usmerjeno programiranje v jeziku C ++.
S to vadnico začenjamo vrsto vadnic za spoznavanje C ++ kot objektno usmerjenega programskega jezika.
Kot vemo, so bili pred objektno usmerjenim programiranjem (OOP) programi napisani v postopkovnih jezikih. Procesni jeziki poudarjajo funkcije. Večji problemi so razdeljeni na manjše podprobleme in zapisani kot funkcije.
=> Za ogled celotnega seznama vadnic za C ++ glejte tukaj.
Procesni jeziki niso bili pozorni na podatke. Posledično je bila velika možnost, da problema ne bomo rešili na učinkovit način. Ker so bili podatki skoraj zanemarjeni, je bila varnost podatkov zlahka ogrožena.
Vse te pomanjkljivosti postopkovnega programiranja so bile odpravljene z objektno usmerjenim programiranjem.
V tej vadnici bomo razpravljali o osnovah objektno usmerjenega programiranja in na kratko o vseh lastnostih OOP.
Kaj se boste naučili:
- Objektno usmerjeno programiranje v jeziku C ++
- Zakaj je C ++ delni OOP?
- Funkcije OOP
- Prednosti OOP
- Zaključek
- Priporočeno branje
Objektno usmerjeno programiranje v jeziku C ++
Predmetno programiranje se vrti okoli podatkov. Glavna programska enota OOP je objekt. Objekt je predstavitev entitete v realnem času in je sestavljena iz podatkov in metod ali funkcij, ki delujejo na podatke. Na ta način so podatki in funkcije tesno povezani in je zagotovljena varnost podatkov.
V OOP je vse predstavljeno kot objekt in ko se programi izvajajo, predmeti medsebojno sodelujejo s pošiljanjem sporočil. Predmetu ni treba poznati podrobnosti izvedbe drugega predmeta za komunikacijo.
OOP poleg predmetov podpira tudi različne funkcije, ki so navedene spodaj:
- Predavanja
- Kapsulacija
- Abstrakcija
- Dedovanje
- Polimorfizem
Z uporabo OOP pišemo programe z uporabo razredov in predmetov z uporabo zgornjih funkcij. Programski jezik naj bi bil resnično objektno usmerjen programski jezik, če vse, kar predstavlja, uporablja predmet. Smalltalk je en jezik, ki je čisti objektno usmerjen programski jezik.
Po drugi strani pa naj bi bili programski jeziki, kot sta C ++ in Java, delno objektno usmerjeni programski jeziki.
Zakaj je C ++ delni OOP?
Jezik C ++ je bil zasnovan z glavnim namenom uporabe objektno usmerjenih funkcij v jeziku C.
Čeprav jezik C ++ podpira funkcije OOP, kot so razredi, predmeti, dedovanje, inkapsulacija, abstrakcija in polimorfizem, je malo razlogov, zaradi katerih je C ++ razvrščen kot delno objektno usmerjen programski jezik.
nastavitev mrka za c ++
Spodaj predstavljamo nekaj teh razlogov:
# 1) Ustvarjanje razreda / predmetov ni obvezno
V jeziku C ++ je glavna funkcija obvezna in je vedno zunaj razreda. Tako imamo lahko samo eno glavno funkcijo v programu in lahko brez razredov in predmetov.
To je prva kršitev jezika Pure OOP, kjer je vse predstavljeno kot objekt.
# 2) Uporaba globalnih spremenljivk
C ++ ima koncept globalnih spremenljivk, ki so prijavljene zunaj programa in do katerih lahko dostopa katera koli druga entiteta programa. To krši inkapsulacijo. Čeprav C ++ podpira enkapsulacijo glede na razrede in predmete, v primeru globalnih spremenljivk za to ne skrbi.
# 3) Prisotnost prijateljske funkcije
C ++ podpira prijateljski razred ali funkcijo, ki se lahko uporablja za dostop do zasebnih in zaščitenih članov drugih razredov, tako da postane prijatelj. To je še ena značilnost C ++, ki krši paradigmo OOP.
Če zaključimo, čeprav C ++ podpira vse zgoraj omenjene funkcije OOP, ponuja tudi funkcije, ki lahko delujejo kot rešitev za te funkcije, tako da lahko storimo brez njih. Zaradi tega je C ++ delno objektno usmerjen programski jezik.
Funkcije OOP
Tu bomo predstavili različne funkcije OOP, ki se uporabljajo za programiranje.
Predavanja in predmeti
Predmet je osnovna enota pri objektno usmerjenem programiranju. Predmet vsebuje podatke in metode ali funkcije, ki delujejo na teh podatkih. Predmeti zavzamejo prostor v spominu.
Razred pa je načrt predmeta. Nasprotno pa je objekt mogoče definirati kot primerek razreda. Razred vsebuje okostje predmeta in ne zavzame prostora v pomnilniku.
Vzemimo Primer predmeta avtomobila. Avtomobilski objekt z imenom 'Maruti' ima lahko podatke, kot so barva; znamka, model, omejitev hitrosti itd. in funkcije, kot je pospeševanje. Določimo še en objekt 'ford'. Ta ima lahko podobne podatke in funkcije, kot prejšnji objekt, ter še nekaj dodatkov.
Podobno imamo lahko številne predmete z različnimi imeni s podobnimi podatki in funkcijami ter nekaj manjših različic.
Namesto da bi opredelili te podobne podatke in funkcije v teh različnih objektih, definiramo načrt teh predmetov, ki je razred, imenovan Car. Vsak od zgornjih predmetov bo primerek avtomobila tega razreda.
Abstrakcija
Abstrakcija je postopek skrivanja nepomembnih informacij od uporabnika. Na primer , ko vozimo avto, najprej zaženemo motor z vstavitvijo ključa. Nismo seznanjeni s postopkom, ki poteka v ozadju za zagon motorja.
Z uporabo abstrakcije pri programiranju lahko pred uporabnikom skrijemo nepotrebne podrobnosti. Z uporabo abstrakcije v naši aplikaciji končni uporabnik ne vpliva, tudi če spremenimo interno izvedbo.
Kapsulacija
Inkapsulacija je postopek, pri katerem so podatki in metode ali funkcije, ki delujejo na njih, združeni. S tem podatki niso zlahka dostopni zunanjemu svetu. V OOP dosežemo inkapsulacijo tako, da postanemo člani podatkov zasebni in imamo javne funkcije za dostop do teh članov.
Dedovanje
Uporaba predmeta dedovanja enega razreda lahko podeduje ali pridobi lastnosti predmeta drugega razreda. Dedovanje omogoča ponovno uporabo kode.
Kot tak lahko oblikujemo nov razred s pridobitvijo lastnosti in funkcionalnosti drugega razreda in v tem postopku nam ni treba spreminjati funkcionalnosti nadrejenega razreda. Predavanju dodamo samo novo funkcionalnost.
Polimorfizem
Polimorfizem pomeni številne oblike.
Polimorfizem je pomembna značilnost OOP in se običajno izvaja kot preobremenitev operaterja ali preobremenitev funkcije. Preobremenitev operaterja je postopek, pri katerem se operater v različnih situacijah obnaša drugače. Podobno se pri preobremenitvi funkcije ista funkcija obnaša različno v različnih situacijah.
Dinamična vezava
OOP podpira dinamično vezavo, pri kateri se klic funkcije razreši med izvajanjem. To pomeni, da se koda, ki se izvede kot rezultat klica funkcije, določi med izvajanjem. Virtualne funkcije so primer dinamične vezave.
Sporočilo prehaja
V OOP predmeti komunicirajo med seboj s pomočjo sporočil. Ko predmeti komunicirajo, se informacije med njimi prenašajo naprej in nazaj. Sporočilo je običajno sestavljeno iz imena predmeta, imena metode in dejanskih podatkov, ki jih je treba poslati drugemu objektu.
Prednosti OOP
Pogovorimo se o nekaterih prednostih OOP.
# 1) Ponovna uporabnost
OOP omogoča ponovno uporabo obstoječe kode z dedovanjem. Z lahkoto lahko pridobimo obstoječo funkcionalnost in jo izboljšamo, ne da bi morali kodo znova pisati. Posledica je manj napihnjena koda.
# 2) Modularnost
Ko moduliramo program v OOP, ga je enostavno spremeniti ali odpraviti, če pride do težave ali če želite dodati novo funkcijo ali izboljšavo. Modularizacija pomaga tudi k jasnosti kode in jo naredi bolj berljivo.
# 3) Prilagodljivost
OOP nam pomaga pri prilagodljivem programiranju z uporabo funkcije polimorfizma. Ker ima polimorfizem različne oblike, imamo lahko operaterje ali funkcije, ki bodo delovale s številnimi predmeti in nas tako rešile pisanja različnih funkcij za vsak predmet.
kako kopirati DVD-je brezplačno
# 4) Vzdrževanje
Vzdrževanje kode je lažje, saj je enostavno dodati nove razrede, predmete itd. Brez večjega prestrukturiranja ali sprememb.
# 5) Skrivanje podatkov in informacij
OOP nam pomaga pri skrivanju podatkov in s tem varuje informacije pred uhajanjem. Uporabniku so s skrivanjem notranjih podrobnosti izpostavljeni samo podatki, ki so potrebni za nemoteno delovanje programa.
Zaključek
OOP je najpomembnejša in najbolj prilagodljiva programska paradigma sodobnega programiranja. Posebej je koristen pri modeliranju resničnih problemov in je zato zelo priljubljen.
V tej vadnici smo razpravljali o različnih značilnostih OOP. V nadaljevanju bomo podrobno razpravljali o vseh teh lastnostih.
Naslednja tema v tej seriji »OOP s C ++« se bo osredotočila na razrede in predmete v podrobnostih.
=> Kliknite tukaj za absolutno serijo usposabljanj C ++.
Priporočeno branje
- OOP Java: Uvod v objektno usmerjeno programiranje v Javi
- Vrste podatkov C ++
- 10 najboljših orodij za podatkovno informacijo v letu 2021 za odpravo programiranja
- Abstrakcija podatkov v jeziku C ++
- Uvod v podatkovne strukture v jeziku C ++
- Vadnica za cevi Unix: Cevi v programiranju Unix
- QTP Vadnica št. 8 - Spoznajte načine snemanja QTP, Vohunski objekt in Repozitoriji objektov
- 70+ NAJBOLJŠIH vaj za C ++ za BREZPLAČNO učenje C ++ programiranja