OOP Concepts in Java
Co je OOPS?
Objektově orientovaný programovací systém (OOPs) je koncept programování, který funguje na principech abstrakce, zapouzdření, dědičnosti a polymorfismu. Umožňuje uživatelům vytvářet objekty, které chtějí, a vytvářet metody pro manipulaci s těmito objekty. Základním konceptem OOP je vytvářet objekty, znovu je používat v programu a manipulovat s nimi, abyste získali výsledky.
OOP znamená „Objektově orientované programování“ je populárně známý a široce používaný koncept v moderních programovacích jazycích, jako je Java.
OOP Concepts in Java s příklady
Následují obecné koncepty OOPs Java:
1) Třída
Jedno třída je jedním ze základních konceptů OOP, což je skupina podobných subjektů. Je to pouze logická součást, nikoli fyzická entita. Pojďme pochopit tento jeden z OOP Concepts například, pokud byste měli třídu nazvanou „Drahá auta“, mohla by mít objekty jako Mercedes, BMW, Toyota atd. Jejími vlastnostmi (data) mohou být cena nebo rychlost těchto vozů. Zatímco metody mohou být prováděny s těmito vozy, jsou jízda, couvání, brzdění atd.
2) Objekt
Objekt lze definovat jako instanci třídy a v programu může být více instancí třídy. Objekt je jedním z Java OOPs koncepty, které obsahují jak data, tak funkci, která s daty pracuje. Například – židle, kolo, fix, pero, stůl, auto atd.
3) Dědictví
Dědictví je jedním ze základních Concepts OOP, ve kterých jeden objekt získává vlastnosti a chování nadřazeného objektu. Vytváří vztah rodič-dítě mezi dvěma třídami. Nabízí robustní a přirozený mechanismus pro organizaci a strukturu jakéhokoli softwaru.
4) Polymorfismus
Polymorfismus odkazuje na jeden z konceptů OOP v Java což je schopnost proměnné, objektu nebo funkce nabývat více podob. Například v angličtině sloveso běh má jiný význam, pokud jej použijete s notebook, pěší závod, a obchodní. Zde chápeme význam běh na základě dalších slov použitých spolu s ním. Totéž platilo pro polymorfismus.
5) Abstrakce
Abstrakce je jedním z OOP Concepts in Java což je akt reprezentující základní rysy bez zahrnutí detailů pozadí. Je to technika vytváření nového datového typu, který je vhodný pro konkrétní aplikaci. Pojďme pochopit tento jeden z OOP Concepts Například při řízení auta se nemusíte starat o jeho vnitřní fungování. Zde se stačí starat o díly, jako je volant, ozubená kola, plyn atd.
6) Zapouzdření
Zapouzdření je jedním z nejlepších Java OOPs koncepty balení dat a kódu. V tomto konceptu OOPs jsou proměnné třídy vždy skryté před ostatními třídami. Lze k němu přistupovat pouze pomocí metod jejich aktuální třídy. Například – ve škole nemůže student existovat bez třídy.
7) Sdružení
Asociace je vztah mezi dvěma objekty. Je to jeden z OOP Concepts in Java který definuje rozmanitost mezi objekty. V tomto konceptu OOP mají všechny objekty svůj samostatný životní cyklus a neexistuje žádný vlastník. Mnoho studentů se například může sdružovat s jedním učitelem, zatímco jeden student se také může stýkat s více učiteli.
8) Agregace
V této technice mají všechny objekty svůj samostatný životní cyklus. Existuje však takové vlastnictví, že podřízený objekt nemůže patřit jinému nadřazenému objektu. Zvažte například oddělení třídy/objektů a učitele. Zde jeden učitel nemůže patřit do více oddělení, ale i když oddělení odstraníme, objekt učitele nebude nikdy zničen.
9) Složení
Kompozice je specializovaná forma agregace. Říká se tomu také vztah „smrt“. Podřízené objekty nemají svůj životní cyklus, takže když se smaže nadřazený objekt, automaticky se vymažou i všechny podřízené objekty. K tomu si vezměme příklad House and rooms. Každý dům může mít několik místností. Jedna místnost se nemůže stát součástí dvou různých domů. Pokud tedy smažete pokoj v domě, smaže se také.
Výhody OOP (Object-Oriented Programming System):
- OOP Concepts in Java nabízejí snadno srozumitelnou a jasnou modulární strukturu programů.
- Objekty vytvořené pro objektově orientované programy lze znovu použít v jiných programech. Šetří tak značné náklady na vývoj.
- Velké programy se píší obtížně, ale pokud se vývojový a návrhářský tým řídí koncepty OOPS, pak mohou lépe navrhovat s minimem nedostatků.
- Zvyšuje modularitu programu, protože každý objekt existuje nezávisle.
Porovnání OOPS s jinými styly programování pomocí příkladu
Pojďme pochopit na příkladu jak Java OOP Concepts se liší od jiných programovacích přístupů.
Programovací jazyky lze rozdělit do 3 primárních typů
- Nestrukturované programovací jazyky: Nejprimitivnější ze všech programovacích jazyků s sekvenčním tokem řízení. Kód se v programu opakuje
- Strukturované programovací jazyky: Má nesekvenční tok ovládání. Použití funkcí umožňuje opětovné použití kódu.
- Objektově orientované programovací jazyky: Kombinuje data a akce dohromady.
klikněte zde pokud video není přístupné
Pojďme si tyto 3 typy porozumět na příkladu.
Předpokládejme, že chcete vytvořit bankovní software s funkcemi jako
- Vklad
- Vybrat
- Zobrazit rovnováhu
Nestrukturované programovací jazyky
Nejstarší ze všech programovacích jazyků byl nestrukturovaný programovací jazyk. Velmi elementární kód bankovní aplikace v nestrukturovaném programovacím jazyce bude mít dvě proměnné jedno číslo účtu a další pro zůstatek účtu
int account_number=20; int account_balance=100;
Předpokládejme, že byl proveden vklad 100 dolarů.
account_balance=account_balance+100
Dále musíte zobrazit zůstatek účtu.
printf(“Account Number=%d,account_number) printf(“Account Balance=%d,account_balance)
Nyní je vybrána částka 50 dolarů.
account_balance=account_balance-50
Opět je potřeba zobrazit zůstatek na účtu.
printf(“Account Number=%d,account_number) printf(“Account Balance=%d,account_balance)
Pro jakýkoli další vklad nebo výběr – budete kód opakovat znovu a znovu.
Strukturované programování
S příchodem strukturovaného programování byly opakované řádky v kódu vloženy do struktur, jako jsou funkce nebo metody. Kdykoli je potřeba, provede se jednoduché volání funkce.
Objektově orientované programování
V našem programu se zabýváme daty nebo provádíme specifické operace s daty. Vlastně mít data a provádět s nimi určité operace je velmi základní charakteristikou každého softwarového programu. Odborníci na softwarové programování mysleli na kombinaci dat a Operaních. Proto se zrodilo objektově orientované programování, které se běžně nazývá OOPS. Stejný kód v jazycích objektově orientovaného programování bude mít stejná data a nějakou akci provedenou s těmito daty.
Class Account{ int account_number; int account_balance; public void showdata(){ system.out.println(“Account Number”+account_number) System.out.println(“Account Balance”+ account_balance) } }
Kombinací dat a akcí získáme mnoho výhod oproti strukturálnímu programování, např.
- Abstrakce
- Zapouzdření
- Dědictví
- Polymorfismus
Podrobněji jsou diskutovány v následujících tutoriálech