logo

C++ OOP koncepti

Glavna svrha C++ programiranja je uvođenje koncepta objektne orijentacije u C programski jezik.

Objektno orijentirano programiranje je paradigma koja nudi mnoge koncepte kao što su nasljeđivanje, povezivanje podataka, polimorfizam itd.

Paradigma programiranja u kojoj je sve predstavljeno kao objekt poznata je kao istinski objektno orijentirani programski jezik. Čavrljanje se smatra prvim istinski objektno orijentiranim programskim jezikom.


OOPs (sustav za objektno orijentirano programiranje)

Objekt znači pravi entitet riječi kao što je olovka, stolica, stol itd. Objektno orijentirano programiranje je metodologija ili paradigma za dizajniranje programa korištenjem klasa i objekata. Pojednostavljuje razvoj i održavanje softvera pružajući neke koncepte:

kako provjeriti veličinu zaslona monitora
Cpp Ups koncept 1
  • Objekt
  • Klasa
  • Nasljedstvo
  • Polimorfizam
  • Apstrakcija
  • Enkapsulacija

Objekt

Svaki entitet koji ima stanje i ponašanje poznat je kao objekt. Na primjer: stolica, olovka, stol, tipkovnica, bicikl itd. Može biti fizički i logički.

Klasa

Zbirka predmeta naziva se klasa. To je logičan entitet.

Klasa u C++ je temeljni element koji vodi objektno orijentiranom programiranju. Instanca klase mora biti kreirana kako bi se pristupilo i koristilo korisnički definirani podaci i funkcije članova podataka. Klasa objekta djeluje kao njegov nacrt. Uzmimo klasu automobila kao primjer. Čak i ako se različiti nazivi i marke mogu koristiti za različite automobile, svi će imati neke zajedničke karakteristike, kao što su četiri kotača, ograničenje brzine, raspon milja, itd. U ovom slučaju, klasa automobila predstavljena je kotače, ograničenja brzine i kilometražu.

Nasljedstvo

Kada jedan objekt dobije sva svojstva i ponašanja nadređenog objekta tj. poznato kao nasljedstvo. Omogućuje mogućnost ponovne upotrebe koda. Koristi se za postizanje polimorfizma vremena izvođenja.

  1. Podklasa - Podklasa ili izvedena klasa odnosi se na klasu koja prima svojstva od druge klase.
  2. Super klasa - Pojam 'Osnovna klasa' ili 'Super klasa' odnosi se na klasu od koje podklasa nasljeđuje svoja svojstva.
  3. Ponovno korištenje - Kao rezultat toga, kada želimo stvoriti novu klasu, ali postojeća klasa već sadrži dio koda koji nam je potreban, možemo generirati novu klasu iz stare klase zahvaljujući nasljeđivanju. To nam omogućuje korištenje polja i metoda već postojeće klase.

Polimorfizam

Kada jedan se zadatak obavlja na različite načine tj. poznat kao polimorfizam. Na primjer: uvjeriti kupca u drugačije, nacrtati nešto npr. oblika ili pravokutnika itd.

Različite situacije mogu uzrokovati različito ponašanje operacije. Vrsta podataka koja se koristi u operaciji određuje ponašanje.

Apstrakcija

Skrivanje unutarnjih detalja i prikazivanje funkcionalnosti poznata je kao apstrakcija. Apstrakcija podataka je proces izlaganja vanjskom svijetu samo informacija koje su apsolutno neophodne dok se skrivaju informacije o implementaciji ili pozadini. Na primjer: telefonski poziv, ne znamo internu obradu.

datum pretvoriti u niz

U C++-u koristimo apstraktnu klasu i sučelje za postizanje apstrakcije.

Enkapsulacija

Povezivanje (ili omatanje) koda i podataka zajedno u jednu jedinicu poznato je kao enkapsulacija. Na primjer: kapsula, omotana je različitim lijekovima.

Enkapsulacija se obično shvaća kao grupiranje povezanih dijelova informacija i podataka u jednu cjelinu. Enkapsulacija je proces povezivanja podataka i funkcija koje rade s njima u objektno orijentiranom programiranju. Pogledajte praktičnu ilustraciju enkapsulacije: u tvrtki postoje različiti odjeli, uključujući odjel prodaje, odjel financija i odjel računa. Sve financijske transakcije vodi sektor financija, koji također vodi evidenciju svih financijskih podataka. Na sličan način, odjel prodaje zadužen je za sve poslove vezane uz prodaju i vodi evidenciju svake prodaje. E sad, može se dogoditi scenarij kada iz nekog razloga financijski službenik traži sve podatke o prodaji za određeni mjesec. Pod krovnim pojmom 'prodajni odjel' svi zaposlenici koji mogu utjecati na podatke prodajnog odjela grupirani su zajedno. Apstrakcija podataka ili prikrivanje još je jedna nuspojava enkapsulacije. Na isti način na koji enkapsulacija skriva podatke. U gore navedenom primjeru, bilo koje drugo područje ne može pristupiti podacima iz bilo kojeg odjeljka, kao što su prodaja, financije ili računi.

Dinamičko uvezivanje - U dinamičkom povezivanju, odluka se donosi tijekom izvođenja u vezi s kodom koji će se pokrenuti kao odgovor na poziv funkcije. U tu svrhu C++ podržava virtualne funkcije.

Prednost OOP-a u odnosu na procedurno orijentirani programski jezik

  1. OOP-ovi olakšavaju razvoj i održavanje gdje, kao u programskom jeziku orijentiranom na procedure, nije lako upravljati ako kod raste kako raste veličina projekta.
  2. OOP-ovi omogućuju skrivanje podataka, dok se u programskom jeziku usmjerenom na procedure globalnim podacima može pristupiti s bilo kojeg mjesta.
  3. OOP-ovi pružaju mogućnost mnogo učinkovitije simulacije događaja u stvarnom svijetu. Možemo ponuditi rješenje problema s pravim riječima ako koristimo objektno orijentirani programski jezik.

Zašto nam je potreban ups u C++?

Postojali su različiti nedostaci ranih metoda programiranja, kao i loša izvedba. Pristup nije mogao učinkovito riješiti probleme iz stvarnog svijeta budući da, slično proceduralno orijentiranom programiranju, niste mogli ponovno koristiti kod unutar programa, bilo je poteškoća s globalnim pristupom podacima i tako dalje.

Uz korištenje klasa i objekata, objektno orijentirano programiranje olakšava održavanje koda. Budući da nasljeđivanje omogućuje ponovnu upotrebu koda, program je jednostavniji jer ne morate više puta pisati isti kod. Skrivanje podataka također omogućuju ideje poput enkapsulacije i apstrakcije.

Zašto je C++ djelomični oop?

Objektno orijentirane značajke jezika C bile su primarna motivacija iza konstrukcije jezika C++.

Programski jezik C++ kategoriziran je kao djelomično objektno orijentirani programski jezik unatoč činjenici da podržava OOP koncepte, uključujući klase, objekte, nasljeđivanje, enkapsulaciju, apstrakciju i polimorfizam.

spavati u js

1) Glavna funkcija uvijek mora biti izvan klase u C++ i obavezna je. To znači da možemo bez klasa i objekata i imati jednu glavnu funkciju u aplikaciji.

U ovom slučaju se izražava kao objekt, što je prvi put da je Pure OOP prekršen.

2) Globalne varijable su značajka programskog jezika C++ kojoj može pristupiti bilo koji drugi objekt unutar programa i definirane su izvan njega. Enkapsulacija je ovdje prekinuta. Iako C++ potiče enkapsulaciju za klase i objekte, zanemaruje je za globalne varijable.

Preopterećenje

Polimorfizam također ima podskup poznat kao preopterećenje. Kaže se da je postojeći operator ili funkcija preopterećena kada je prisiljena raditi na novom tipu podataka.

Zaključak

Steći ćete razumijevanje potrebe za objektno orijentiranim programiranjem, što su C++ OOP-ovi i osnove OOP-a, kao što su polimorfizam, nasljeđivanje, enkapsulacija itd., nakon čitanja ovog tečaja o OOPS konceptima u C++. Uz slučajeve polimorfizma i nasljeđivanja, također ste naučili o prednostima C++ OOP-ova.