logo

C++ OOP koncepti

Glavni namen programiranja C++ je uvesti koncept objektne usmerjenosti v programski jezik C.

Objektno usmerjeno programiranje je paradigma, ki ponuja številne koncepte, kot npr dedovanje, vezava podatkov, polimorfizem itd.

Paradigma programiranja, kjer je vse predstavljeno kot objekt, je znana kot resnično objektno usmerjen programski jezik. Smalltalk velja za prvi resnično objektno usmerjen programski jezik.


OOP (objektno usmerjen programski sistem)

Objekt pomeni pravo besedno entiteto, kot je pero, stol, miza itd. Objektno orientirano programiranje je metodologija ali paradigma za oblikovanje programa z uporabo razredov in objektov. Poenostavlja razvoj in vzdrževanje programske opreme z zagotavljanjem nekaterih konceptov:

niz v jsonobject
Cpp Ups koncept 1
  • Objekt
  • Razred
  • Dedovanje
  • Polimorfizem
  • Abstrakcija
  • Enkapsulacija

Objekt

Vsaka entiteta, ki ima stanje in vedenje, je znana kot objekt. Na primer: stol, pero, miza, tipkovnica, kolo itd. Lahko je fizično in logično.

Razred

Zbirka predmetov se imenuje razred. Je logična entiteta.

Razred v C++ je temeljni element, ki vodi v objektno orientirano programiranje. Za dostop in uporabo podatkovnih članov in funkcij članov uporabniško definiranega podatkovnega tipa je treba ustvariti primerek razreda. Razred objekta deluje kot njegov načrt. Za primer vzemimo razred avtomobilov. Tudi če se lahko za različne avtomobile uporabljajo različna imena in znamke, bodo vsi imeli nekaj skupnih značilnosti, kot so štiri kolesa, omejitev hitrosti, doseg milj itd. V tem primeru je razred avtomobila predstavljen z kolesa, omejitve hitrosti in kilometrino.

Dedovanje

Ko en objekt pridobi vse lastnosti in vedenja nadrejenega predmeta znano kot dedovanje. Omogoča ponovno uporabo kode. Uporablja se za doseganje izvajalnega polimorfizma.

  1. Podrazred – podrazred ali izpeljani razred se nanaša na razred, ki prejme lastnosti od drugega razreda.
  2. Nadrazred – Izraz 'osnovni razred' ali 'superrazred' se nanaša na razred, od katerega podrazred podeduje svoje lastnosti.
  3. Ponovna uporabnost – Posledično, ko želimo ustvariti nov razred, vendar obstoječi razred že vsebuje nekaj kode, ki jo potrebujemo, lahko zaradi dedovanja ustvarimo naš novi razred iz starega razreda. To nam omogoča, da uporabimo polja in metode že obstoječega razreda.

Polimorfizem

Kdaj ena naloga se izvaja na različne načine znan kot polimorfizem. Na primer: kupca prepričati drugače, narisati nekaj npr. oblika ali pravokotnik itd.

Različne situacije lahko povzročijo, da se operacija obnaša drugače. Vrsta podatkov, uporabljenih v operaciji, določa vedenje.

Abstrakcija

Skrivanje notranjih podrobnosti in prikaz funkcionalnosti je znana kot abstrakcija. Abstrakcija podatkov je postopek, v katerem se zunanjemu svetu izpostavijo samo informacije, ki so nujno potrebne, medtem ko se prikrijejo informacije o izvajanju ali ozadju. Na primer: telefonski klic, ne poznamo notranje obdelave.

V C++ uporabljamo abstraktni razred in vmesnik za doseganje abstrakcije.

Enkapsulacija

Vezava (ali ovijanje) kode in podatkov skupaj v eno enoto je znana kot enkapsulacija. Na primer: kapsula, ovita je z različnimi zdravili.

bash if stanje

Enkapsulacija se običajno razume kot združevanje povezanih delov informacij in podatkov v eno samo entiteto. Enkapsulacija je postopek povezovanja podatkov in funkcij, ki delajo z njimi v objektno usmerjenem programiranju. Oglejte si praktično ilustracijo enkapsulacije: v podjetju obstajajo različni oddelki, vključno s prodajnim oddelkom, finančnim oddelkom in računovodskim oddelkom. Vse finančne transakcije vodi finančni sektor, ki vodi tudi evidenco vseh finančnih podatkov. Podobno je prodajna služba zadolžena za vsa opravila v zvezi s prodajo in vodi evidenco vsake prodaje. Zdaj se lahko zgodi scenarij, ko finančni uradnik iz nekega razloga zahteva vse podatke o prodaji za določen mesec. Pod krovnim pojmom 'prodajna služba' so združeni vsi zaposleni, ki lahko vplivajo na podatke prodajne službe. Abstrakcija ali prikrivanje podatkov je še en stranski učinek enkapsulacije. Na enak način, kot enkapsulacija skrije podatke. V zgoraj omenjenem primeru nobeno drugo področje ne more dostopati do podatkov iz katerega koli razdelka, kot so prodaja, finance ali računi.

Dinamična vezava - Pri dinamičnem povezovanju se med izvajanjem sprejme odločitev glede kode, ki se bo izvajala kot odgovor na klic funkcije. Za to C++ podpira virtualne funkcije.

Prednost OOP pred programskim jezikom, ki je usmerjen v procedure

  1. OOP-ji olajšajo razvoj in vzdrževanje, kjer kot v procedurno usmerjenem programskem jeziku ni lahko upravljati, če koda raste z večanjem velikosti projekta.
  2. OOP-ji zagotavljajo skrivanje podatkov, medtem ko je v programskem jeziku, usmerjenem v procedure, do globalnih podatkov mogoče dostopati od koder koli.
  3. OOP-ji omogočajo veliko učinkovitejšo simulacijo dogodkov v resničnem svetu. Rešitev pravega besednega problema lahko zagotovimo, če uporabljamo objektno orientirani programski jezik.

Zakaj potrebujemo oops v C++?

Zgodnje metode programiranja so imele različne pomanjkljivosti, pa tudi slabo delovanje. Pristop ni mogel učinkovito obravnavati težav iz resničnega sveta, saj, podobno kot pri proceduralno usmerjenem programiranju, niste mogli ponovno uporabiti kode v programu, prišlo je do težav z globalnim dostopom do podatkov in tako naprej.

Z uporabo razredov in objektov objektno usmerjeno programiranje poenostavi vzdrževanje kode. Ker dedovanje omogoča ponovno uporabo kode, je program preprostejši, ker vam ni treba večkrat pisati iste kode. Skrivanje podatkov zagotavljajo tudi ideje, kot sta enkapsulacija in abstrakcija.

Zakaj je C++ delni oop?

Objektno usmerjene lastnosti jezika C so bile glavna motivacija za konstrukcijo jezika C++.

Programski jezik C++ je kategoriziran kot delno objektno usmerjen programski jezik kljub dejstvu, da podpira koncepte OOP, vključno z razredi, objekti, dedovanjem, inkapsulacijo, abstrakcijo in polimorfizmom.

1) Glavna funkcija mora biti vedno zunaj razreda v C++ in je obvezna. To pomeni, da lahko delamo brez razredov in objektov in imamo eno glavno funkcijo v aplikaciji.

V tem primeru je izražen kot predmet, kar je prvič, da je bil kršen Pure OOP.

kdo je izumil šolo

2) Globalne spremenljivke so značilnost programskega jezika C++, do katere lahko dostopa kateri koli drug objekt znotraj programa in so definirane zunaj njega. Enkapsulacija je tukaj pokvarjena. Čeprav C++ spodbuja enkapsulacijo za razrede in objekte, jo ignorira za globalne spremenljivke.

Preobremenitev

Polimorfizem ima tudi podskupino, znano kot preobremenitev. Obstoječi operater ali funkcija naj bi bila preobremenjena, ko je prisiljena delovati na novem podatkovnem tipu.

Zaključek

Po branju tega tečaja o konceptih OOPS v C++ boste pridobili razumevanje potrebe po objektno usmerjenem programiranju, kaj so OOP-ji C++ in osnove OOP-jev, kot so polimorfizem, dedovanje, enkapsulacija itd. Poleg primerov polimorfizma in dedovanja ste izvedeli tudi o prednostih OOP-jev C++.