- Objektno orientirano programiranje
- Prednost OOP pred programskim jezikom, ki je usmerjen v procedure
- Razlika med objektno usmerjenim in objektno usmerjenim programskim jezikom.
Na tej strani se bomo seznanili z osnovami OOP. Objektno orientirano programiranje je paradigma, ki ponuja številne koncepte, kot npr dedovanje , vezava podatkov , polimorfizem itd.
začetek velja za prvi objektno usmerjen programski jezik. 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.
Priljubljeni objektno usmerjeni jeziki so Java , C# , PHP , Python , C++ itd.
Glavni cilj objektno orientiranega programiranja je implementacija entitet iz resničnega sveta, na primer objekt, razredi, abstrakcija, dedovanje, polimorfizem itd.
java različica linux
OOP (objektno usmerjen programski sistem)
Objekt pomeni entiteto iz resničnega sveta, kot je pero, stol, miza, računalnik, ura 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:
Poleg teh konceptov obstaja še nekaj drugih izrazov, ki se uporabljajo v objektno usmerjenem načrtovanju:
- Spenjanje
- kohezija
- Združenje
- Združevanje
- Sestava
Objekt
Vsaka entiteta, ki ima stanje in vedenje, je znana kot objekt. Na primer stol, pero, miza, tipkovnica, kolo itd. Lahko je fizično ali logično.
Objekt je mogoče definirati kot primerek razreda. Objekt vsebuje naslov in zavzame nekaj prostora v pomnilniku. Objekti lahko komunicirajo, ne da bi poznali podrobnosti podatkov ali kode drug drugega. Edina potrebna stvar je vrsta sprejetega sporočila in vrsta odgovora, ki ga vrnejo objekti.
primer: Pes je predmet, ker ima stanja, kot so barva, ime, pasma itd., pa tudi vedenja, kot je mahanje z repom, lajanje, prehranjevanje itd.
Razred
Zbirka predmetov se imenuje razred. Je logična entiteta.
Razred je mogoče definirati tudi kot načrt, iz katerega lahko ustvarite posamezen objekt. Razred ne zavzame prostora.
Dedovanje
Ko en objekt pridobi vse lastnosti in vedenja nadrejenega predmeta , je znano kot dedovanje. Omogoča ponovno uporabo kode. Uporablja se za doseganje izvajalnega polimorfizma.
Polimorfizem
če ena naloga se izvaja na različne načine , je znan kot polimorfizem. Na primer: prepričati stranko drugače, nekaj narisati, na primer obliko, trikotnik, pravokotnik itd.
V Javi uporabljamo preobremenitev metode in preglasitev metode, da dosežemo polimorfizem.
Drug primer je lahko nekaj govoriti; na primer mačka govori mijav, pes laja woof itd.
Abstrakcija
Skrivanje notranjih podrobnosti in prikaz funkcionalnosti je znana kot abstrakcija. Na primer telefonski klic, ne poznamo notranje obdelave.
V Javi 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 je ovita z različnimi zdravili.
Razred Java je primer enkapsulacije. Java bean je popolnoma enkapsuliran razred, ker so tukaj vsi podatkovni člani zasebni.
Spenjanje
Spajanje se nanaša na znanje ali informacije ali odvisnost od drugega razreda. Nastane, ko se razredi zavedajo drug drugega. Če ima razred podrobnosti o drugem razredu, obstaja močna povezava. V Javi uporabljamo zasebne, zaščitene in javne modifikatorje za prikaz ravni vidnosti razreda, metode in polja. Za šibkejšo sklopitev lahko uporabite vmesnike, ker ni konkretne izvedbe.
kohezija
Kohezija se nanaša na raven komponente, ki opravlja eno samo dobro opredeljeno nalogo. Ena sama dobro definirana naloga se opravi z zelo kohezivno metodo. Šibko kohezivna metoda bo nalogo razdelila na ločene dele. Paket java.io je zelo koheziven paket, ker ima razrede in vmesnik, povezane z V/I. Vendar pa je paket java.util slabo koheziven paket, ker ima nepovezane razrede in vmesnike.
Združenje
Asociacija predstavlja odnos med predmeti. Tukaj je lahko en predmet povezan z enim predmetom ali več predmeti. Obstajajo lahko štiri vrste povezav med predmeti:
- Ena proti ena
- Eden mnogim
- Mnogi proti enemu in
- Mnogi mnogim
Razumejmo odnos s primeri v realnem času. Na primer, ena država ima lahko enega predsednika vlade (eden proti enemu), predsednik vlade pa ima lahko več ministrov (eden proti več). Prav tako ima lahko veliko poslancev enega predsednika vlade (mnogi proti enemu), številni ministri pa imajo lahko več resorjev (mnogi proti mnogim).
Asociacija je lahko nesmerna ali dvosmerna.
Združevanje
Združevanje je način za dosego asociacije. Združevanje predstavlja razmerje, kjer en objekt vsebuje druge objekte kot del svojega stanja. Predstavlja šibek odnos med predmeti. Imenuje se tudi kot a ima odnos v Javi. Na primer, dedovanje predstavlja je odnos. To je še en način za ponovno uporabo predmetov.
Sestava
Sestava je tudi način za dosego asociacije. Sestava predstavlja razmerje, kjer en predmet vsebuje druge predmete kot del svojega stanja. Obstaja močna povezava med vsebujočim in odvisnim predmetom. To je stanje, v katerem predmeti, ki vsebujejo, nimajo neodvisnega obstoja. Če izbrišete nadrejeni objekt, bodo vsi podrejeni objekti samodejno izbrisani.
Prednost OOP pred programskim jezikom, ki je usmerjen v procedure
1) OOP-ji olajšajo razvoj in vzdrževanje, medtem ko v procedurno usmerjenem programskem jeziku ni lahko upravljati, če koda raste, ko se povečuje velikost projekta.
2) OOP zagotavlja skrivanje podatkov, medtem ko je v procedurno usmerjenem programskem jeziku do globalnih podatkov mogoče dostopati od koder koli.
Slika: Predstavitev podatkov v procedurno usmerjenem programiranju
izvedba skriptne lupine
Slika: Predstavitev podatkov v objektno usmerjenem programiranju
3) OOPs omogoča veliko bolj učinkovito simulacijo dogodkov v resničnem svetu. Rešitev pravega besednega problema lahko zagotovimo, če uporabljamo objektno orientirani programski jezik.
Kakšna je razlika med objektno usmerjenim programskim jezikom in objektno usmerjenim programskim jezikom?
Objektni programski jezik sledi vsem funkcijam OOP-jev razen dedovanja. JavaScript in VBScript sta primera objektno temelječih programskih jezikov.
Ali veš?
- Ali lahko preobremenimo glavno metodo?
- Konstruktor Java vrne vrednost, ampak kaj?
- Ali lahko ustvarimo program brez glavne metode?
- Katerih je šest načinov uporabe te ključne besede?
- Zakaj večkratno dedovanje ni podprto v Javi?
- Zakaj uporabljati združevanje?
- Ali lahko preglasimo statično metodo?
- Kaj je kovariantna vrnitev?
- Kakšne so tri uporabe ključne besede Java super?
- Zakaj uporabljati blok inicializatorja primerkov?
- Kakšna je uporaba prazne končne spremenljivke?
- Kaj je označevalni ali označeni vmesnik?
- Kaj je izvajalni polimorfizem ali dinamično pošiljanje metod?
- Kakšna je razlika med statično in dinamično vezavo?
- Kako je znižanje možno v Javi?
- Kaj je namen zasebnega gradbenika?
- Kaj je kloniranje predmetov?
- Prednost OOP-jev
- Konvencija o poimenovanju
- Objekt in razred
- Preobremenitev metode
- Konstruktor
- statična ključna beseda
- ta ključna beseda s šestimi uporabami
- Dedovanje
- Združevanje
- Preglasitev metode
- Kovariantna vrnjena vrsta
- super ključna beseda
- Blok inicializatorja primerka
- končna ključna beseda
- Abstraktni razred
- Vmesnik
- Polimorfizem izvajalnega okolja
- Statična in dinamična vezava
- Znižanje z operatorjem instanceof
- Paket
- Modifikatorji dostopa
- Enkapsulacija
- Kloniranje predmeta