logo

Uvod v objektno orientirano programiranje

Kot že ime pove, se objektno orientirano programiranje ali OOP nanaša na jezike, ki uporabljajo objekte pri programiranju. Cilj objektno usmerjenega programiranja je v programiranje implementirati entitete iz resničnega sveta, kot so dedovanje, skrivanje, polimorfizem itd. Glavni cilj OOP je povezati podatke in funkcije, ki z njimi delujejo, tako da noben drug del kode ne more dostopati do teh podatkov, razen te funkcije.

OOP koncepti:



  • Razred
  • Predmeti
  • Abstrakcija podatkov
  • Enkapsulacija
  • Dedovanje
  • Polimorfizem
  • Dinamična vezava
  • Posredovanje sporočil

1. Razred:

Razred je podatkovni tip, ki ga določi uporabnik. Sestavljen je iz podatkovnih članov in članskih funkcij, do katerih je mogoče dostopati in jih uporabljati z ustvarjanjem primerka tega razreda. Predstavlja nabor lastnosti ali metod, ki so skupne vsem objektom iste vrste. Razred je kot načrt za predmet.

Na primer: Razmislite o razredu avtomobilov. Morda obstaja veliko avtomobilov z različnimi imeni in blagovnimi znamkami, vendar bodo vsi imeli nekaj skupnih lastnosti, na primer vsi bodo imeli 4 kolesa, omejitev hitrosti, obseg prevoženih kilometrov itd. Tukaj je torej avto razred, kolesa, omejitve hitrosti, kilometrina je njihova lastnost.



2. Predmet:

Je osnovna enota objektno orientiranega programiranja in predstavlja entitete iz resničnega življenja. Objekt je primerek razreda. Ko je razred definiran, se pomnilnik ne dodeli, ko pa je instanciran (tj. ustvarjen objekt), se pomnilnik dodeli. Objekt ima identiteto, stanje in vedenje. Vsak objekt vsebuje podatke in kodo za manipulacijo podatkov. Objekti lahko medsebojno delujejo, ne da bi morali poznati podrobnosti o podatkih ali kodah drug drugega, dovolj je poznati vrsto sprejetega sporočila in vrsto odgovora, ki ga vrnejo objekti.

Pes je na primer predmet iz resničnega življenja, ki ima nekatere značilnosti, kot so barva, pasma, lajanje, spanje in prehranjevanje.



Objekt v OOP-jih

Objekt

3. Abstrakcija podatkov:

Abstrakcija podatkov je ena najpomembnejših in najpomembnejših lastnosti objektno orientiranega programiranja. Abstrakcija podatkov se nanaša na zagotavljanje samo bistvenih informacij o podatkih zunanjemu svetu, pri čemer se skrijejo podrobnosti o ozadju ali implementacija. Razmislite o resničnem primeru moškega, ki vozi avto. Človek ve le, da bo s pritiskom na plin povečala hitrost avtomobila ali z zaviranjem se bo avto ustavil, ne ve pa, kako se s pritiskom na plin hitrost poveča, ne pozna notranjega mehanizma avtomobila. ali implementacija plina, zavor itd. v avtomobilu. To je tisto, kar je abstrakcija.

4. Enkapsulacija:

Enkapsulacija je definirana kot zavijanje podatkov v eno enoto. Je mehanizem, ki povezuje kodo in podatke, s katerimi manipulira. Pri enkapsulaciji so spremenljivke ali podatki razreda skriti pred vsemi drugimi razredi in do njih je mogoče dostopati samo prek katere koli funkcije članice njihovega razreda, v katerem so deklarirani. Tako kot pri enkapsulaciji so podatki v razredu skriti pred drugimi razredi, zato je znan tudi kot skrivanje podatkov .

Enkapsulacija v objektno usmerjenem programiranju

Razmislite o resničnem primeru enkapsulacije, v podjetju obstajajo različni oddelki, kot so oddelek za račune, oddelek za finance, oddelek za prodajo itd. Oddelek za finance obravnava vse finančne transakcije in vodi evidenco vseh podatkov, povezanih s financami. Podobno tudi prodajna služba skrbi za vse prodajne aktivnosti in vodi evidenco vseh prodaj. Zdaj lahko pride do situacije, ko uradnik iz finančne službe iz nekega razloga potrebuje vse podatke o prodaji v določenem mesecu. V tem primeru nima neposrednega dostopa do podatkov prodajnega dela. Najprej se bo moral obrniti na kakšnega drugega referenta v komerciali in nato od njega zahtevati konkretne podatke. To je tisto, kar je enkapsulacija. Tu so podatki prodajnega oddelka in zaposleni, ki lahko manipulirajo z njimi, zaviti pod eno samo ime prodajni oddelek.

5. Dedovanje:

Dedovanje je pomemben steber OOP (objektno usmerjenega programiranja). Zmožnost razreda, da izpelje lastnosti in karakteristike iz drugega razreda, se imenuje dedovanje. Ko pišemo razred, podedujemo lastnosti drugih razredov. Torej, ko ustvarimo razred, nam ni treba znova in znova pisati vseh lastnosti in funkcij, saj jih lahko podedujemo od drugega razreda, ki ga ima. Dedovanje omogoča uporabniku, da znova uporabi kodo, kadar koli je to mogoče, in zmanjša njeno redundanco.

Interitance v objektno usmerjenem programiranju

6. Polimorfizem:

Beseda polimorfizem pomeni imeti veliko oblik. Preprosto povedano, polimorfizem lahko definiramo kot sposobnost sporočila, da se prikaže v več kot eni obliki. Na primer, oseba ima lahko hkrati različne lastnosti. Tako kot je moški hkrati oče, mož, zaposleni. Torej se ista oseba v različnih situacijah obnaša različno. To se imenuje polimorfizem.

Polimorfizem v OOP

7. Dinamična vezava:

Pri dinamičnem povezovanju se koda, ki naj se izvede kot odgovor na klic funkcije, določi med izvajanjem. Dinamična vezava pomeni, da koda, povezana z danim klicem procedure, ni znana do trenutka klica v času izvajanja. Vezava dinamične metode Ena od glavnih prednosti dedovanja je, da ima nek izpeljani razred D vse člane svojega osnovnega razreda B. Ko D ne skriva nobenega od javnih članov B, lahko objekt D predstavlja B v katerem koli kontekstu kjer bi lahko uporabili B. Ta lastnost je znana kot polimorfizem podtipa.

8. Posredovanje sporočil:

Je oblika komunikacije, ki se uporablja v objektno usmerjenem programiranju in vzporednem programiranju. Objekti med seboj komunicirajo tako, da drug drugemu pošiljajo in prejemajo informacije. Sporočilo za objekt je zahteva za izvedbo postopka in bo zato priklicalo funkcijo v prejemnem objektu, ki ustvari želene rezultate. Posredovanje sporočila vključuje določanje imena predmeta, imena funkcije in informacij, ki jih je treba poslati.

Zakaj potrebujemo objektno orientirano programiranje

mravlja proti mavenu
  • Da bo razvoj in vzdrževanje projektov lažji.
  • Za zagotavljanje funkcije skrivanja podatkov, ki je dobra za varnostne pomisleke.
  • Probleme iz resničnega sveta lahko rešimo, če uporabljamo objektno orientirano programiranje.
  • Zagotavlja ponovno uporabnost kode.
  • Omogoča nam pisanje generične kode: ki bo delovala z vrsto podatkov, tako da nam ni treba znova in znova pisati osnovnih stvari.