Kaj je OOP? - Načela s primeri - Prednosti in slabosti

Kazalo:

Anonim

Kaj je OOP?

Objektno usmerjeno programiranje (ali OOP) je paradigma programiranja, v kateri so programi zapisani in strukturirani okoli predmetov in ne funkcij ali logike. Tu so predmeti definirani kot podatkovna polja z edinstvenimi atributi in obnašanjem. Vsebujejo podatke v obliki atributov in postopkov v obliki metod. Postopki predmetov lahko dostopajo do podatkov v objektu in jih spremenijo.

Obstaja veliko jezikov OOP, najbolj priljubljen pa je razred, kjer bodo predmeti primerek razreda. Razred je vsebnik za podatke in postopke, znan tudi kot podatkovni člani in funkcije članov. Razmislimo o primeru predmeta kot avtomobilu. Avtomobil ima lastnosti, kot so barva, blagovna znamka, prostornina goriva ipd., In ima metode za predstavljanje obnašanja avtomobila, kot so zagon, pospeševanje, premor itd. Razred je osnutek lastnosti in metod in ne zaseda prostora, dokler in razen če ni izdelan predmet tega razreda.

Primer :

class car
(
char name(20); // name and colour are attributes
char colour(20);
public void start()() //start is a method
);
void main()
(
car c1; //c1 is an object
)

Objektno usmerjeni programski cilji, ki jih bomo uporabili pri programiranju, stvarnih subjektov, kot so dedovanje, polimorfizem, kapsulacija itd., Ki jih bomo podrobno videli. Glavni cilj OOP je skupno povezovanje podatkov in funkcij, ki delujejo na njih, tako da je do teh podatkov dostopen samo ta funkcija.

Načela OOP

Štiri glavna načela objektno usmerjenega programiranja so kapsulacija, abstrakcija, dedovanje in polimorfizem.

1. Inkapsulacija:

Vezava podatkov in metod v eno enoto se imenuje kapsulacija. Inkapsulacija se izvede, kadar vsak predmet znotraj razreda ohrani svoje stanje zasebno. Podatki znotraj te enote niso dostopni zunanjim objektom in do njih lahko dostopajo samo tiste funkcije znotraj te enote. Tako objekt s pomočjo svojih metod upravlja s svojim stanjem, za komunikacijo s tem objektom pa bomo potrebovali pomoč javnih metod tega razreda.

2. Abstrakcija

Abstrakcija je podaljšek inkapsulacije. Pomeni zunanjemu svetu samo potrebne informacije, pri tem pa skrivati ​​notranje podrobnosti izvajanja. Razkriva samo ustrezne operacije za druge predmete. Prednost tega je, da lahko spremenimo izvedbo, ne da bi vplivali na razred, saj vmesnik metode ostane enak.

Vzemimo primer kalkulatorja, ki nam odvzame vhod in s pritiskom na gumb nam da želeni izhod, obenem pa nam prihrani notranje podrobnosti, kako smo prišli do tega odgovora.

3. Dedovanje

Pogosto so si objekti podobni v funkcionalnosti, delijo del logike, v preostalem pa se razlikujejo. Kako torej ponovno uporabimo skupno logiko in ločimo različne logike? To lahko dosežemo z dedovanjem. Pri dedovanju ustvarimo nov razred, imenovan otroški razred, ki izhaja iz obstoječega razreda, imenovanega matični razred, s čimer oblikujemo hier0archy razredov. Otroški razred ponovno uporabi podatkovna polja in metode, ki jih zahteva od nadrejenega razreda, in sam izvaja svojo edinstveno funkcionalnost.

Na primer, vozilo je lahko roditeljski razred, iz katerega lahko izpeljemo razrede otrok, kot sta Kolo in Avto. Skupne lastnosti so, da lahko vozijo z gorivom in prevažajo potnike, vendar se razlikujejo po številu potnikov, ki jih lahko prevažajo, in več takšnih lastnosti.

4. Polimorfizem

Polimorfizem je sposobnost, da prevzame več oblik. Recimo, da imamo razred staršev in nekaj njegovih razredov otrok. Zdaj želimo uporabiti atribute tako starševskih kot otroških razredov, kako bomo to dosegli? To je mogoče storiti s polimorfizmom. V polimorfizmu se abstraktne entitete izvajajo na več načinov. Omogoča porabo razreda natančno tako kot nadrejeni razred, tako da ni mešanja z mešanjem vrste razredov in vsak otroški razred še naprej ohranja svoje metode takšne, kot so bile. To lahko storite tako, da ponovno uporabite nadrejeni vmesnik, tako da lahko razred otrok te metode izvede v svoji različici.

Prednosti objektno usmerjenega programiranja

  • Lahko se pokaže ideja v resničnem svetu, saj se vse v OOP obravnava kot predmet.
  • Ko uporabljamo koncept kapsulacije, je programe lažje preizkusiti in vzdrževati.
  • Hitrejši razvoj kode je narejen, saj razrede razvijamo vzporedno namesto zaporedno.
  • OOP zagotavlja večjo varnost zaradi odvzema podatkov. Zunanji svet ne more dostopati do skritih podatkov.
  • Ponovno uporabnost lahko dosežemo z uporabo že napisanih razredov.

Slabosti objektno usmerjenega programiranja

  • Oblikovanje programa s konceptom OOP je lahko težavno.
  • Programer mora predhodno načrtovati razvoj programa v OOP.
  • Velikost programov, razvitih z OOP, je večja od programov, razvitih s postopkovnim pristopom.
  • Ker so OOP programi večje po velikosti, je tudi več časa za izvedbo teh programov.

Kako lahko znanje o OOP pomaga pri karierni rasti?

V današnjih dneh so v večini pomembnih jezikov, kot sta Java in Ruby, uporabljeni konceptno programirani koncepti. Jeziki OOP pomagajo pri pisanju programske opreme za aplikacije, kot so mobilne, spletne in igre. Na teh področjih so visoki zaslužki, kot so najboljše možnosti za zaposlitev programerjev na teh področjih. V osnove OOP je enostavno preiti v različne tehnologije in jezike, kar nam razširi kariere. Ena od pomanjkljivosti pri tem je strokovnost. Običajno podjetja iščejo praktične izkušnje v jezikih in konceptih OOP, zato je priporočljivo, da vadimo, ko gremo po učnem procesu.

Zaključek

Objektno usmerjeno programiranje nam poenostavlja proces programiranja. Ima veliko vrednosti, kot so ponovna uporaba, učinkovitost in vzdrževanje kode. Čeprav je na začetku težko razumeti koncepte OOP, pa vam zagotavljam, da bo sadje vredno truda. Upam, da je ta članek pomagal pri poenostavitvi teh konceptov za vas!

Priporočeni članek

To je vodnik za Kaj je OOP? Tu smo razpravljali o pojmih, definiciji in načelih s prednostmi in slabostmi OOP-a. Če želite izvedeti več, lahko preberete tudi druge naše predlagane članke -

  1. Ali je Hadoop Open Source?
  2. Kaj je Java Dediščina?
  3. Kaj je Multithreading v C #?
  4. Kaj so spletne storitve ASP.Net?