Rozdíl mezi balíčkem a rozhraním v Javě

Obsah:

Rozdíl mezi balíčkem a rozhraním v Javě
Rozdíl mezi balíčkem a rozhraním v Javě

Video: Rozdíl mezi balíčkem a rozhraním v Javě

Video: Rozdíl mezi balíčkem a rozhraním v Javě
Video: Packages in Java | Learn Coding 2024, Listopad
Anonim

Klíčový rozdíl mezi Package a Interface v Javě spočívá v tom, že Package pomáhá kategorizovat třídy metodicky, aby k nim měl snadný přístup a údržbu, zatímco rozhraní pomáhá implementovat vícenásobnou dědičnost a dosáhnout abstrakce.

Java je jedním z nejpopulárnějších programovacích jazyků. Hlavní výhodou Javy je, že podporuje objektově orientované programování. Tato metodologie umožňuje modelování objektů reálného světa v softwaru. Třída je plán pro vytvoření objektu. Každý objekt obsahuje data nebo pole k popisu atributů nebo vlastností a metod k popisu chování. Tento článek pojednává o dvou konceptech souvisejících s OOP v Javě v Javě, kterými jsou Package a Interface.

Co je balíček v Javě?

Java poskytuje velké množství tříd. Uchování všech tříd v jedné složce může být obtížné, protože je obtížně přístupná. To může ovlivnit ovladatelnost programu. Java používá balíčky k uspořádání tříd. Je to podobné jako u složky. Java API seskupuje třídy do různých balíčků podle funkčnosti. Proto každý balíček obsahuje související sadu tříd.

Příklad balíčků v Javě

Několik příkladů balíčků je následujících. Balíček java.io obsahuje vstupní a výstupní podpůrné třídy. Zahrnuje File, 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 vytvoření grafického uživatelského rozhraní. Toto je několik balíčků Java API.

Když chce programátor v programu použít určitou třídu, měl by tento balíček importovat. Pokud chce programátor použít třídu BufferInputStream v balíčku java.io, měl by napsat příkaz import následovně.

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é vytvářet uživatelsky definované balíčky.

zaměstnanec balíčku;

veřejná třída Zaměstnanec {

}

Podle výše uvedeného příkladu je zaměstnanec název balíčku. Třída Zaměstnanec je součástí zaměstnaneckého balíčku. Tento soubor se uloží jako Employee.java do zaměstnaneckého balíčku.

Navíc je možné importovat veřejnou třídu z jednoho balíčku do druhého. Podívejte se na následující příklad.

Rozdíl mezi balíčkem a rozhraním v Javě
Rozdíl mezi balíčkem a rozhraním v Javě
Rozdíl mezi balíčkem a rozhraním v Javě
Rozdíl mezi balíčkem a rozhraním v Javě

Obrázek 01: Třída A

Rozdíl mezi balíčkem a rozhraním v Java_Figure 2
Rozdíl mezi balíčkem a rozhraním v Java_Figure 2
Rozdíl mezi balíčkem a rozhraním v Java_Figure 2
Rozdíl mezi balíčkem a rozhraním v Java_Figure 2

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 baleních; třída B může vytvořit objekt třídy A importem package1. 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 umožňuje ukládat všechny soubory metodickým způsobem. Kromě toho balíčky Java API umožňují programátorům používat již existující třídy.

Co je rozhraní v Javě?

Někdy programátor nemusí znát definici metody. V těchto situacích může programátor pouze deklarovat metodu. Abstraktní metoda je metoda, která nemá definici. Má pouze prohlášení. Pokud existuje alespoň jedna abstraktní metoda, tato třída se stane abstraktní třídou. Kromě toho může abstraktní třída obsahovat abstraktní metody i neabstraktní 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říklad rozhraní v Javě

Předpokládejme, že A i B jsou abstraktní třídy. Pokud třída C rozšiřuje A a B, tato třída C musí definovat abstraktní metody obou tříd. Toto je vícenásobné dědictví. Java nepodporuje vícenásobnou dědičnost. K jeho implementaci by měl programátor používat rozhraní. Pokud jsou A a B rozhraní, třída C je může implementovat. Viz následující příklad.

Rozdíl mezi balíčkem a rozhraním v Java_Figure 3
Rozdíl mezi balíčkem a rozhraním v Java_Figure 3
Rozdíl mezi balíčkem a rozhraním v Java_Figure 3
Rozdíl mezi balíčkem a rozhraním v Java_Figure 3

Obrázek 03: Rozhraní A

Rozdíl mezi balíčkem a rozhraním v Java_Obrázek 4
Rozdíl mezi balíčkem a rozhraním v Java_Obrázek 4
Rozdíl mezi balíčkem a rozhraním v Java_Obrázek 4
Rozdíl mezi balíčkem a rozhraním v Java_Obrázek 4

Obrázek 04: Rozhraní B

Rozhraní A má abstraktní metodu display1 a rozhraní B abstraktní metodu display2.

Rozdíl mezi balíčkem a rozhraním v Java_Obrázek 5
Rozdíl mezi balíčkem a rozhraním v Java_Obrázek 5
Rozdíl mezi balíčkem a rozhraním v Java_Obrázek 5
Rozdíl mezi balíčkem a rozhraním v Java_Obrázek 5

Obrázek 05: Třída C

Třída C implementuje rozhraní A i B. Proto by měl definovat obě metody.

Klíčový rozdíl mezi balíčkem a rozhraním v Javě
Klíčový rozdíl mezi balíčkem a rozhraním v Javě
Klíčový rozdíl mezi balíčkem a rozhraním v Javě
Klíčový rozdíl mezi balíčkem a rozhraním v Javě

Obrázek 06: Hlavní metoda

Nyní v hlavní metodě je možné vytvořit objekt C a volat obě metody. Podobně rozhraní pomáhají implementovat vícenásobnou dědičnost v Javě.

Rozhraní kromě vícenásobné dědičnosti pomáhají dosáhnout abstrakce. Je to jeden z hlavních konceptů v OOP. Abstrakce umožňuje skrýt detaily implementace a ukázat uživateli pouze funkčnost. Dále umožňuje zaměřit se na to, co objekt dělá, místo toho, jak se to dělá. Protože se rozhraní skládá z abstraktních metod, pomáhá archivovat abstrakci.

Jaký je rozdíl mezi balíčkem a rozhraním v Javě?

Package je skupina příbuzných tříd, které poskytují ochranu přístupu a správu jmenného prostoru. Interface je referenční typ podobný třídě, která je sbírkou abstraktních metod. Balíček pomáhá kategorizovat třídy metodicky, aby k nim byl snadný přístup a údržba. Na druhou stranu rozhraní pomáhá implementovat vícenásobnou dědičnost a dosáhnout abstrakce. Toto je hlavní rozdíl mezi Package a Interface v Javě. Balíček se dále píše malými písmeny 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 Javě v tabulkové formě
Rozdíl mezi balíčkem a rozhraním v Javě v tabulkové formě
Rozdíl mezi balíčkem a rozhraním v Javě v tabulkové formě
Rozdíl mezi balíčkem a rozhraním v Javě v tabulkové formě

Shrnutí – balíček vs rozhraní v Javě

Rozdíl mezi Package a Interface v Javě spočívá v tom, že Package pomáhá kategorizovat třídy metodicky, aby k nim měl snadný přístup a údržbu, zatímco rozhraní pomáhá implementovat vícenásobnou dědičnost a dosáhnout abstrakce.

Doporučuje: