klíčový rozdíl mezi balíčkem a rozhraním v Javě je to Balíček pomáhá metodicky třídit třídy pro snadný přístup k nim a jejich údržbu, zatímco rozhraní pomáhá implementovat více dědictví a dosáhnout abstrakce.
Java je jedním z nejpopulárnějších programovacích jazyků. Hlavní výhodou Java je, že podporuje Object Oriented Programming. Tato metodika umožňuje modelovat objekty reálného světa v softwaru. Třída je plán pro vytvoření objektu. Každý objekt obsahuje data nebo pole popisující atributy nebo vlastnosti a metody popisující chování. Tento článek popisuje dva koncepty související s OOP v Javě v Javě, které jsou balíček a rozhraní.
1. Přehled a klíčový rozdíl
2. Co je balíček v Javě
3. Co je rozhraní v Javě
4. Porovnání vedle sebe - balíček vs. rozhraní v Javě v tabulkové formě
5. Shrnutí
Java poskytuje velké množství tříd. Udržování všech tříd v jedné složce může být obtížné, protože je obtížný přístup. To může ovlivnit spravovatelnost programu. Java používá k uspořádání tříd balíčky. Je podobný složce. Java API seskupuje třídy do různých balíčků podle funkce. Proto každý balíček obsahuje související sadu tříd.
Několik příkladů balíčků je následující. Balíček java.io obsahuje třídy podporující vstup a výstup. Zahrnuje soubor, PrintStream, BufferInputStream atd. Balíček java.net obsahuje třídy související se sítí. Některé příklady jsou URL, Socket, ServerSocket. Balíček java.awt obsahuje všechny třídy potřebné k vytváření grafických uživatelských rozhraní. To je málo balíčků Java API.
Pokud chce programátor v programu použít určitou třídu, měl by tento balíček importovat. Pokud chce programátor v balíčku java.io použít třídu BufferInputStream, měl by napsat příkaz import následujícím způsobem.
import java.util.BufferInoutStream;
Níže uvedený příkaz importuje všechny třídy v balíčku util.
import java.util. *;
Je také možné vytvořit uživatelem definované balíčky.
zaměstnanec balíčku;
zaměstnanec veřejné třídy
Podle výše uvedeného příkladu je zaměstnancem název balíčku. Třída Employee je součástí zaměstnaneckého balíčku. Tento soubor se uloží jako Employee.java do zaměstnaneckého balíčku.
Dále je možné importovat veřejnou třídu z jednoho balíčku do druhého. Viz následující příklad.
Obrázek 01: Třída A
Obrázek 02: Třída B
Třída A je v balíčku 1 a obsahuje veřejnou metodu zvanou display. Třída B je v balíčku 2 a obsahuje hlavní metodu. I když jsou v samostatných balíčcích; třída B může vytvořit objekt třídy A importem balíčku1. Po importu balíčku 1 má třída B přístup k datům a metodám třídy A.
Celkově balíček v Javě pomáhá organizovat soubory projektu. To je velmi užitečné při vývoji velkého systému, protože to umožňuje metodické ukládání všech souborů. Kromě toho balíčky Java API umožňují programátorům používat již existující třídy.
Někdy programátor nemusí znát definici metody. V těchto situacích může programátor deklarovat pouze metodu. Abstraktní metoda je metoda, která nemá definici. Má pouze prohlášení. Pokud existuje alespoň jedna abstraktní metoda, stává se z této třídy abstraktní třída. Abstraktní třída může navíc obsahovat abstraktní metody, jakož i ne abstraktní metody. Programátor nemůže vytvářet objekty z abstraktních tříd.
Když třída rozšiřuje abstraktní třídu, nová třída by měla definovat všechny abstraktní metody v abstraktní třídě. Jinými slovy, předpokládejme, že abstraktní třída A má abstraktní metodu zvanou display. Třída B rozšiřuje třídu A. Třída B by pak měla definovat zobrazení metody.
Předpokládejme, že A i B jsou abstraktní třídy. Pokud třída C rozšiřuje A a B, musí tato třída C definovat abstraktní metody obou tříd. Toto je vícenásobné dědictví. Java nepodporuje vícenásobné dědictví. K jeho implementaci by měl programátor používat rozhraní. Pokud jsou A a B rozhraní, pak je může implementovat třída C. Viz následující příklad.
Obrázek 03: Rozhraní A
Obrázek 04: Rozhraní B
Rozhraní A má abstraktní metodu display1 a rozhraní B má abstraktní metodu display2.
Obrázek 05: Třída C
Třída C implementuje rozhraní A i B. Proto by měla definovat obě metody.
Obrázek 06: Hlavní metoda
Nyní v hlavní metodě je možné vytvořit objekt C a volat obě metody. Rozhraní také pomáhají implementovat vícenásobnou dědičnost v Javě.
Rozhraní pomáhají dosáhnout abstrakce kromě vícenásobného dědictví. Je to jeden hlavní koncept v OOP. Abstrakce umožňuje skrýt podrobnosti implementace a ukázat uživateli pouze funkčnost. Dále umožňuje zaměřit se na to, co objekt dělá, než na to, jak se to dělá. Protože rozhraní sestává z abstraktních metod, pomáhá archivovat abstrakce.
Balíček je skupina souvisejících tříd, které poskytují ochranu přístupu a správu jmenného prostoru. Rozhraní je typ odkazu podobný třídě, což je kolekce abstraktních metod. Balíček pomáhá metodicky třídit třídy, aby k nim byl snadný přístup a údržba. Na druhou stranu, Interface pomáhá implementovat více dědictví a dosáhnout abstrakce. Toto je hlavní rozdíl mezi balíčkem a rozhraním v Javě. Dále způsob, jak napsat balíček, je malá písmena, jako java.util, java.awt. Pokud je název rozhraní Area, pak je zapsán v rozhraní Area.
Rozdíl mezi balíčkem a rozhraním v jazyce Java spočívá v tom, že balíček pomáhá kategorizovat třídy metodicky, aby k nim snadno přistupoval a udržoval je, zatímco rozhraní pomáhá implementovat více dědictví a dosáhnout abstrakce..
1.Cvičení Bod. "Java balíčky." Výukové programy Point, 24. března 2018. K dispozici zde
2.Cvičení Bod. "Rozhraní Java." Výukové programy Point, 24. března 2018. K dispozici zde