Kľúčový rozdiel medzi balíkom a rozhraním v jazyku Java je v tom, že balík pomáha metodicky kategorizovať triedy, aby sa k nim ľahko pristupovalo a udržiavali ich, zatiaľ čo rozhranie pomáha implementovať viacnásobné dedičstvá a dosiahnuť abstrakciu.
Java je jedným z najpopulárnejších programovacích jazykov. Hlavnou výhodou Java je, že podporuje objektovo orientované programovanie. Táto metodológia umožňuje modelovanie objektov reálneho sveta v softvéri. Trieda je plán na vytvorenie objektu. Každý objekt obsahuje údaje alebo polia na opis atribútov alebo vlastností a metód na opis správania. Tento článok popisuje dva koncepty súvisiace s OOP v jazyku Java v jazyku Java, ktorými sú balík a rozhranie.
Čo je balík v jazyku Java?
Java poskytuje veľké množstvo tried. Udržiavanie všetkých tried v jednom priečinku môže byť ťažké, pretože je ťažké získať prístup. To môže ovplyvniť spravovateľnosť programu. Java používa balíky na usporiadanie tried. Je to podobné ako priečinok. Java API zoskupuje triedy do rôznych balíkov podľa funkčnosti. Preto každý balík obsahuje súvisiacu sadu tried.
Príklad balíkov v jazyku Java
Niekoľko príkladov balíkov je nasledujúcich. Balík java.io obsahuje podporné triedy vstupu a výstupu. Zahŕňa File, PrintStream, BufferInputStream atď. Balík java.net obsahuje triedy súvisiace so sieťou. Niektoré príklady sú URL, Socket, ServerSocket. Balík java.awt obsahuje všetky triedy potrebné na vytvorenie grafického používateľského rozhrania. Toto je niekoľko balíkov Java API.
Keď chce programátor v programe použiť určitú triedu, mal by tento balík importovať. Ak chce programátor použiť triedu BufferInputStream v balíku java.io, mal by napísať príkaz import nasledovne.
import java.util. BufferInoutStream;
Výkaz nižšie naimportuje všetky triedy v balíku util.
import java.util.;
Je tiež možné vytvárať užívateľom definované balíčky.
balíkový zamestnanec;
verejná trieda Zamestnanec {
}
Podľa vyššie uvedeného príkladu je názov balíka zamestnanec. Trieda Zamestnanec je súčasťou zamestnaneckého balíka. Tento súbor sa uloží ako Employee.java do zamestnaneckého balíka.
Okrem toho je možné importovať verejnú triedu z jedného balíka do druhého. Pozrite si nasledujúci príklad.
Obrázok 01: Trieda A
Obrázok 02: Trieda B
Trieda A je v balíku 1 a obsahuje verejnú metódu nazývanú display. Trieda B je v balíku 2 a obsahuje hlavnú metódu. Aj keď sú v samostatných baleniach; trieda B môže vytvoriť objekt triedy A importovaním balíka1. Po importovaní balíka 1 má trieda B prístup k údajom a metódam triedy A.
Celkovo možno povedať, že balík v jazyku Java pomáha organizovať súbory projektu. To je veľmi užitočné pri vývoji veľkého systému, pretože umožňuje ukladať všetky súbory metodickým spôsobom. Okrem toho balíky Java API umožňujú programátorom používať už existujúce triedy.
Čo je rozhranie v jazyku Java?
Niekedy programátor nemusí poznať definíciu metódy. V týchto situáciách môže programátor iba deklarovať metódu. Abstraktná metóda je metóda, ktorá nemá definíciu. Má len vyhlásenie. Ak existuje aspoň jedna abstraktná metóda, táto trieda sa stane abstraktnou triedou. Okrem toho môže abstraktná trieda obsahovať abstraktné metódy, ako aj neabstraktné metódy. Programátor nemôže vytvárať objekty z abstraktných tried.
Keď trieda rozširuje abstraktnú triedu, nová trieda by mala definovať všetky abstraktné metódy v abstraktnej triede. Inými slovami, predpokladajme, že abstraktná trieda A má abstraktnú metódu nazývanú display. Trieda B rozširuje triedu A. Potom by trieda B mala definovať zobrazenie metódy.
Príklad rozhrania v jazyku Java
Predpokladajme, že A aj B sú abstraktné triedy. Ak trieda C rozširuje A a B, táto trieda C musí definovať abstraktné metódy oboch tried. Toto je viacnásobné dedičstvo. Java nepodporuje viacnásobnú dedičnosť. Na jeho implementáciu by mal programátor používať rozhrania. Ak sú A a B rozhrania, trieda C ich môže implementovať. Pozrite si nasledujúci príklad.
Obrázok 03: Rozhranie A
Obrázok 04: Rozhranie B
Rozhranie A má abstraktnú metódu display1 a rozhranie B abstraktnú metódu display2.
Obrázok 05: Trieda C
Trieda C implementuje rozhrania A aj B. Preto by mal definovať obe metódy.
Obrázok 06: Hlavná metóda
Teraz v hlavnej metóde je možné vytvoriť objekt C a volať obe metódy. Podobne rozhrania pomáhajú implementovať viacnásobné dedičstvo v jazyku Java.
Okrem viacnásobného dedenia pomáhajú rozhrania dosiahnuť abstrakciu. Je to jeden z hlavných konceptov v OOP. Abstrakcia umožňuje skryť detaily implementácie a zobraziť používateľovi iba funkčnosť. Ďalej umožňuje zamerať sa na to, čo objekt robí, namiesto toho, ako sa to robí. Keďže rozhranie pozostáva z abstraktných metód, pomáha archivovať abstrakciu.
Aký je rozdiel medzi balíkom a rozhraním v jazyku Java?
Package je skupina súvisiacich tried, ktoré poskytujú ochranu prístupu a správu menného priestoru. Rozhranie je referenčný typ podobný triede, ktorá je zbierkou abstraktných metód. Balík pomáha kategorizovať triedy metodicky, aby sa k nim ľahko pristupovalo a udržiavali ich. Na druhej strane rozhranie pomáha implementovať viacnásobné dedičstvo a dosiahnuť abstrakciu. Toto je hlavný rozdiel medzi balíkom a rozhraním v jazyku Java. Balíček sa ďalej píše malými písmenami, ako napríklad java.util, java.awt. Ak je názov rozhrania Area, potom je napísaný v, interface Area.
Summary – Package verzus Interface in Java
Rozdiel medzi balíkom a rozhraním v jazyku Java je v tom, že balík pomáha metodicky kategorizovať triedy, aby sa k nim ľahko pristupovalo a udržiavali ich, zatiaľ čo rozhranie pomáha implementovať viacnásobné dedičstvá a dosiahnuť abstrakciu.