logo

Java OOPs koncepty

  1. Objektovo orientované programovanie
  2. Výhoda OOP oproti procedurálne orientovanému programovaciemu jazyku
  3. Rozdiel medzi objektovo orientovaným a objektovo orientovaným programovacím jazykom.

Na tejto stránke sa dozvieme o základoch OOP. Objektovo orientované programovanie je paradigma, ktorá poskytuje mnoho konceptov, ako napr dedičstvo , dátová väzba , polymorfizmus , atď.

začiatok je považovaný za prvý objektovo orientovaný programovací jazyk. Programovacia paradigma, kde je všetko reprezentované ako objekt, je známa ako skutočne objektovo orientovaný programovací jazyk.

Spoločenská konverzácia je považovaný za prvý skutočne objektovo orientovaný programovací jazyk.

Populárne objektovo orientované jazyky sú Java , C# , PHP , Python , C++ , atď.

Hlavným cieľom objektovo orientovaného programovania je implementovať entity reálneho sveta, napríklad objekt, triedy, abstrakciu, dedičnosť, polymorfizmus atď.

java plátok

OOP (objektovo orientovaný programovací systém)

Objekt znamená entitu reálneho sveta, ako je pero, stolička, stôl, počítač, hodinky atď. Objektovo orientované programovanie je metodológia alebo paradigma na navrhovanie programu pomocou tried a objektov. Zjednodušuje vývoj a údržbu softvéru tým, že poskytuje niektoré koncepty:

Okrem týchto pojmov existujú aj ďalšie výrazy, ktoré sa používajú v objektovo orientovanom dizajne:

  • Spojka
  • Súdržnosť
  • asociácie
  • Agregácia
  • Zloženie
Java OOPs koncepty

Objekt

Java Object

Každá entita, ktorá má stav a správanie, je známa ako objekt. Napríklad stolička, pero, stôl, klávesnica, bicykel atď. Môže to byť fyzické alebo logické.

Objekt možno definovať ako inštanciu triedy. Objekt obsahuje adresu a zaberá určité miesto v pamäti. Objekty môžu komunikovať bez toho, aby poznali podrobnosti o svojich údajoch alebo kódoch. Jedinou nevyhnutnou vecou je typ prijatej správy a typ odpovede vrátenej objektmi.

Príklad: Pes je objekt, pretože má stavy ako farba, meno, plemeno atď., ako aj správanie, ako je vrtenie chvostom, štekanie, jedenie atď.

Trieda

Zbierka predmetov sa nazýva trieda. Je to logická entita.

Triedu možno definovať aj ako plán, z ktorého môžete vytvoriť individuálny objekt. Trieda nezaberá žiadne miesto.

Dedičnosť

Keď jeden objekt získa všetky vlastnosti a správanie rodičovského objektu , je známy ako dedičstvo. Poskytuje opätovnú použiteľnosť kódu. Používa sa na dosiahnutie polymorfizmu za behu.

Polymorfizmus v Jave

Polymorfizmus

Ak jedna úloha sa vykonáva rôznymi spôsobmi je známy ako polymorfizmus. Napríklad: presvedčiť zákazníka inak, nakresliť niečo, napríklad tvar, trojuholník, obdĺžnik atď.

V Jave používame preťažovanie metód a prepisovanie metód na dosiahnutie polymorfizmu.

Ďalším príkladom môže byť niečo povedať; napríklad mačka hovorí mňau, pes šteká fuj atď.

Abstrakcia

Skrytie vnútorných detailov a zobrazenie funkčnosti je známy ako abstrakcia. Napríklad telefonický hovor, nepoznáme interné spracovanie.

V Jave používame abstraktnú triedu a rozhranie na dosiahnutie abstrakcie.

Zapuzdrenie v konceptoch Java OOPs

Zapuzdrenie

Väzba (alebo obalenie) kódu a údajov spolu do jednej jednotky sa nazýva zapuzdrenie . Napríklad kapsula, ktorá je obalená rôznymi liekmi.

Príkladom zapuzdrenia je trieda java. Java bean je plne zapuzdrená trieda, pretože všetky dátové členy sú tu súkromné.

Spojka

Spojenie sa týka vedomostí alebo informácií alebo závislosti inej triedy. Vzniká vtedy, keď si triedy navzájom uvedomujú. Ak má trieda podrobné informácie o inej triede, existuje silná väzba. V jazyku Java používame modifikátory private, protected a public na zobrazenie úrovne viditeľnosti triedy, metódy a poľa. Môžete použiť rozhrania pre slabšie spojenie, pretože neexistuje žiadna konkrétna implementácia.

Súdržnosť

Súdržnosť sa vzťahuje na úroveň komponentu, ktorý vykonáva jednu dobre definovanú úlohu. Jedna dobre definovaná úloha sa vykonáva vysoko súdržnou metódou. Slabo súdržná metóda rozdelí úlohu na samostatné časti. Balík java.io je vysoko súdržný balík, pretože má triedy a rozhranie súvisiace s I/O. Balík java.util je však slabo súdržný balík, pretože má nesúvisiace triedy a rozhrania.

asociácie

Asociácia predstavuje vzťah medzi objektmi. Tu môže byť jeden objekt spojený s jedným objektom alebo viacerými objektmi. Medzi objektmi môžu byť štyri typy asociácií:

  • Jeden na jedného
  • Jeden k mnohým
  • Mnoho k jednému, a
  • Veľa mnohým

Poďme pochopiť vzťah s príkladmi v reálnom čase. Napríklad jedna krajina môže mať jedného premiéra (jeden k jednému) a predseda vlády môže mať mnoho ministrov (jeden až viac). Tiež veľa poslancov môže mať jedného premiéra (veľa ku jednému) a veľa ministrov môže mať veľa oddelení (veľa ku mnohým).

Asociácia môže byť jednosmerná alebo obojsmerná.

Agregácia

Agregácia je spôsob, ako dosiahnuť asociáciu. Agregácia predstavuje vzťah, kde jeden objekt obsahuje ďalšie objekty ako súčasť svojho stavu. Predstavuje slabý vzťah medzi objektmi. Označuje sa tiež ako a vzťah v Jave. Podobne, dedičstvo predstavuje je-a vzťah. Je to ďalší spôsob opätovného použitia predmetov.

c program na porovnávanie reťazcov

Zloženie

Zloženie je tiež spôsob, ako dosiahnuť asociáciu. Kompozícia predstavuje vzťah, kde jeden objekt obsahuje ďalšie objekty ako súčasť svojho stavu. Medzi obsiahnutým objektom a závislým objektom existuje silný vzťah. Je to stav, v ktorom objekty, ktoré obsahujú, nemajú samostatnú existenciu. Ak odstránite nadradený objekt, automaticky sa vymažú všetky podradené objekty.


Výhoda OOP oproti procedurálne orientovanému programovaciemu jazyku

1) OOPs uľahčuje vývoj a údržbu, zatiaľ čo v programovacom jazyku orientovanom na procedúry nie je ľahké spravovať, ak kód rastie so zvyšujúcou sa veľkosťou projektu.

2) OOPs poskytuje skrytie údajov, zatiaľ čo v programovacom jazyku orientovanom na procedúry je možné pristupovať ku globálnym údajom odkiaľkoľvek.

Globálne údaje

Obrázok: Reprezentácia dát v procedurálne orientovanom programovaní


Údaje o objekte

Obrázok: Reprezentácia údajov v objektovo orientovanom programovaní

3) OOP poskytuje možnosť oveľa efektívnejšie simulovať udalosti v reálnom svete. Môžeme poskytnúť riešenie skutočného slovného problému, ak používame objektovo orientovaný programovací jazyk.


Aký je rozdiel medzi objektovo orientovaným programovacím jazykom a objektovo orientovaným programovacím jazykom?

Objektový programovací jazyk sleduje všetky funkcie OOP okrem dedičnosti. JavaScript a VBScript sú príklady objektovo orientovaných programovacích jazykov.



Vieš?
  • Môžeme preťažiť hlavnú metódu?
  • Java Constructor vracia hodnotu, ale čo?
  • Môžeme vytvoriť program bez hlavnej metódy?
  • Akých je šesť spôsobov použitia tohto kľúčového slova?
  • Prečo nie je v jazyku Java podporované viacnásobné dedičstvo?
  • Prečo používať agregáciu?
  • Môžeme prepísať statickú metódu?
  • Aký je typ kovariantného návratu?
  • Aké sú tri použitia super kľúčového slova Java?
  • Prečo používať blok inicializátora inštancie?
  • Aké je použitie prázdnej konečnej premennej?
  • Čo je značka alebo rozhranie so značkami?
  • Čo je to runtime polymorfizmus alebo odosielanie dynamickej metódy?
  • Aký je rozdiel medzi statickou a dynamickou väzbou?
  • Ako je možné downcasting v Jave?
  • Aký je účel súkromného konštruktéra?
  • Čo je klonovanie objektov?
Čo sa naučíme v konceptoch OOPs?
  • Výhoda OOP
  • Dohovor o pomenovaní
  • Objekt a trieda
  • Preťaženie metódy
  • Konštruktér
  • statické kľúčové slovo
  • toto kľúčové slovo so šiestimi použitiami
  • Dedičnosť
  • Agregácia
  • Prepísanie metódy
  • Typ kovariantného návratu
  • super kľúčové slovo
  • Blok inštancie inštancie
  • konečné kľúčové slovo
  • Abstraktná trieda
  • Rozhranie
  • Runtime Polymorfizmus
  • Statické a dynamické viazanie
  • Downcasting s operátorom instanceof
  • Balíček
  • Modifikátory prístupu
  • Zapuzdrenie
  • Klonovanie objektov