- Objektno orijentirano programiranje
- Prednost OOP-a u odnosu na procedurno orijentirani programski jezik
- Razlika između objektno orijentiranog i objektno baziranog programskog jezika.
Na ovoj stranici naučit ćemo o osnovama OOP-a. Objektno orijentirano programiranje je paradigma koja nudi mnoge koncepte, kao što su nasljedstvo , vezanje podataka , polimorfizam itd.
početak se smatra prvim objektno orijentiranim programskim jezikom. 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.
Popularni objektno orijentirani jezici su Java , C# , PHP , Piton , C++ itd.
Glavni cilj objektno orijentiranog programiranja je implementacija entiteta stvarnog svijeta, na primjer, objekata, klasa, apstrakcije, nasljeđivanja, polimorfizma itd.
mrežni sloj u računalnim mrežama
OOPs (sustav za objektno orijentirano programiranje)
Objekt znači entitet iz stvarnog svijeta kao što je olovka, stolica, stol, računalo, sat 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:
Osim ovih koncepata, postoje neki drugi pojmovi koji se koriste u objektno orijentiranom dizajnu:
- Spojnica
- Kohezija
- Udruga
- Agregacija
- Sastav
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 ili logički.
Objekt se može definirati kao instanca klase. Objekt sadrži adresu i zauzima nešto prostora u memoriji. Objekti mogu komunicirati bez poznavanja pojedinosti o međusobnim podacima ili kodu. Jedina potrebna stvar je tip prihvaćene poruke i tip odgovora koji vraćaju objekti.
Primjer: Pas je objekt jer ima stanja poput boje, imena, pasmine itd., kao i ponašanja poput mahanja repom, lajanja, jedenja itd.
Klasa
Zbirka predmeta naziva se klasa. To je logičan entitet.
Klasa se također može definirati kao nacrt iz kojeg možete kreirati pojedinačni objekt. Predavanje ne zauzima prostor.
Nasljedstvo
Kada jedan objekt dobije sva svojstva i ponašanja nadređenog objekta , poznato je kao nasljedstvo. Omogućuje mogućnost ponovne upotrebe koda. Koristi se za postizanje polimorfizma vremena izvođenja.
Polimorfizam
Ako jedan se zadatak izvodi na različite načine , poznat je kao polimorfizam. Na primjer: uvjeriti kupca u suprotno, nacrtati nešto, na primjer, oblik, trokut, pravokutnik itd.
U Javi koristimo preopterećenje metoda i nadjačavanje metoda kako bismo postigli polimorfizam.
Drugi primjer može biti govoriti nešto; na primjer, mačka govori mijau, pas laje vau itd.
Apstrakcija
Skrivanje unutarnjih detalja i prikazivanje funkcionalnosti poznata je kao apstrakcija. Na primjer, telefonski poziv, ne znamo internu obradu.
U Javi 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 je omotana različitim lijekovima.
Java klasa je primjer enkapsulacije. Java bean je potpuno enkapsulirana klasa jer su svi podatkovni članovi ovdje privatni.
Spojnica
Spajanje se odnosi na znanje ili informacije ili ovisnost druge klase. Nastaje kada su klase svjesne jedna druge. Ako klasa ima detaljne informacije druge klase, postoji jaka sprega. U Javi koristimo privatne, zaštićene i javne modifikatore za prikaz razine vidljivosti klase, metode i polja. Možete koristiti sučelja za slabiju spregu jer ne postoji konkretna implementacija.
instanceof u Javi
Kohezija
Kohezija se odnosi na razinu komponente koja obavlja jedan dobro definiran zadatak. Jedan dobro definiran zadatak obavlja se vrlo kohezivnom metodom. Slabo kohezivna metoda će podijeliti zadatak u zasebne dijelove. Paket java.io vrlo je kohezivan paket jer ima I/O klase i sučelje. Međutim, paket java.util je slabo kohezivan paket jer ima nepovezane klase i sučelja.
Udruga
Asocijacija predstavlja odnos između objekata. Ovdje jedan objekt može biti povezan s jednim objektom ili s više objekata. Mogu postojati četiri vrste povezanosti između objekata:
- Jedan na jedan
- Jedan mnogima
- Mnogi prema jednom, i
- Mnogi mnogima
Razumimo odnos s primjerima u stvarnom vremenu. Na primjer, jedna država može imati jednog premijera (jedan prema jedan), a premijer može imati mnogo ministara (jedan prema više). Također, mnogi zastupnici mogu imati jednog premijera (više prema jednom), a mnogi ministri mogu imati više resora (više prema više).
Asocijacija može biti jednosmjerna ili dvosmjerna.
Agregacija
Agregacija je način postizanja asocijacije. Agregacija predstavlja odnos u kojem jedan objekt sadrži druge objekte kao dio svog stanja. Predstavlja slab odnos između objekata. Također se naziva a ima odnos u Javi. Kao, nasljedstvo predstavlja je odnos. To je još jedan način ponovnog korištenja objekata.
Sastav
Sastav je također način postizanja asocijacije. Kompozicija predstavlja odnos u kojem jedan objekt sadrži druge objekte kao dio svog stanja. Postoji jak odnos između sadržavajućeg objekta i zavisnog objekta. To je stanje u kojem sadržajni objekti nemaju neovisno postojanje. Ako izbrišete nadređeni objekt, svi podređeni objekti bit će automatski izbrisani.
Prednost OOP-a u odnosu na procedurno orijentirani programski jezik
1) OOP-ovi olakšavaju razvoj i održavanje, dok u programskom jeziku orijentiranom na procedure nije lako upravljati ako kod raste s povećanjem veličine projekta.
2) OOP omogućuje skrivanje podataka, dok se u programskom jeziku usmjerenom na procedure globalnim podacima može pristupiti s bilo kojeg mjesta.
Slika: Predstavljanje podataka u procedurno orijentiranom programiranju
Slika: Predstavljanje podataka u objektno orijentiranom programiranju
3) OOPs pruža 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.
Koja je razlika između objektno orijentiranog programskog jezika i objektnog programskog jezika?
Programski jezik temeljen na objektima prati sve značajke OOP-a osim nasljeđivanja. JavaScript i VBScript primjeri su programskih jezika baziranih na objektima.
Znaš li?
- Možemo li preopteretiti glavnu metodu?
- Java konstruktor vraća vrijednost, ali što?
- Možemo li kreirati program bez glavne metode?
- Kojih je šest načina za korištenje ove ključne riječi?
- Zašto višestruko nasljeđivanje nije podržano u Javi?
- Zašto koristiti agregaciju?
- Možemo li nadjačati statičku metodu?
- Što je kovarijantni povratni tip?
- Koje su tri upotrebe ključne riječi Java super?
- Zašto koristiti blok inicijalizatora instance?
- Koja je upotreba prazne konačne varijable?
- Što je marker ili označeno sučelje?
- Što je polimorfizam vremena izvođenja ili slanje dinamičke metode?
- Koja je razlika između statičkog i dinamičkog uvezivanja?
- Kako je downcasting moguć u Javi?
- Čemu služi privatni graditelj?
- Što je kloniranje objekta?
- Prednost OOP-a
- Konvencija o imenovanju
- Objekt i klasa
- Preopterećenje metode
- Konstruktor
- statična ključna riječ
- ova ključna riječ sa šest upotreba
- Nasljedstvo
- Agregacija
- Nadjačavanje metode
- Kovarijantni tip povrata
- super ključna riječ
- Blok inicijalizatora instance
- konačna ključna riječ
- Apstraktni razred
- Sučelje
- Polimorfizam vremena izvođenja
- Statičko i dinamičko uvezivanje
- Spuštanje s operatorom instanceof
- Paket
- Modifikatori pristupa
- Enkapsulacija
- Kloniranje objekata