Põhiline erinevus Java paketi ja liidese vahel on see, et pakett aitab klasse metoodiliselt kategoriseerida, et neile hõlpsasti juurde pääseda ja neid hooldada, samas kui liides aitab rakendada mitut pärandit ja saavutada abstraktsiooni.
Java on üks populaarsemaid programmeerimiskeeli. Java peamine eelis on see, et see toetab objektorienteeritud programmeerimist. See metoodika võimaldab modelleerida reaalse maailma objekte tarkvaras. Klass on kavand objekti loomiseks. Iga objekt sisaldab andmeid või välju atribuutide kirjeldamiseks või atribuute ja meetodeid käitumise kirjeldamiseks. Selles artiklis käsitletakse kahte kontseptsiooni, mis on seotud Java OOP-iga Javas, milleks on pakett ja liides.
Mis on Java pakett?
Java pakub suurt hulka klasse. Kõigi klasside hoidmine ühes kaustas võib olla keeruline, kuna sellele on raske juurde pääseda. See võib mõjutada programmi juhitavust. Java kasutab klasside korraldamiseks pakette. See sarnaneb kaustaga. Java API rühmitab klassid vastav alt funktsionaalsusele erinevatesse pakettidesse. Seetõttu sisaldab iga pakett seotud klasside komplekti.
Java pakettide näide
Mõned näidispaketid on järgmised. Pakett java.io sisaldab sisendit ja väljundit toetavaid klasse. See sisaldab faili, PrintStreami, BufferInputStreami jne. Java.net pakett sisaldab võrguga seotud klasse. Mõned näited on URL, Socket, ServerSocket. Pakett java.awt sisaldab kõiki graafiliste kasutajaliideste loomiseks vajalikke klasse. Need on vähesed Java API paketid.
Kui programmeerija soovib programmis kasutada teatud klassi, peaks ta selle paketi importima. Kui programmeerija soovib paketis java.io kasutada klassi BufferInputStream, peaks ta kirjutama impordilause järgmiselt.
import java.util. BufferInoutStream;
Allpool olev lause impordib kõik utili paketis olevad klassid.
import java.util.;
Samuti on võimalik luua kasutaja määratud pakette.
paketitöötaja;
avalik klass Töötaja {
}
Vastav alt ül altoodud näitele on töötaja paketi nimi. Töötajate klass on osa töötajate paketist. See fail salvestatakse töötaja paketti nimega Employee.java.
Lisaks on võimalik importida avalikku klassi ühest paketist teise. Vaadake järgmist näidet.
Joonis 01: klass A
Joonis 02: B-klass
Klass A on pakendis 1 ja see sisaldab avalikku meetodit, mida nimetatakse kuvamiseks. Klass B on pakendis 2 ja sisaldab põhimeetodit. Kuigi need on eraldi pakendites; klass B saab luua A-klassi objekti, importides paketi1. Pärast paketi 1 importimist on klassil B juurdepääs klassi A andmetele ja meetoditele.
Üldiselt aitab Java-pakett projektifaile korraldada. See on väga kasulik suure süsteemi arendamisel, kuna võimaldab salvestada kõik failid metoodiliselt. Lisaks võimaldavad Java API paketid programmeerijatel kasutada juba olemasolevaid klasse.
Mis on Java liides?
Mõnikord ei pruugi programmeerija meetodi definitsiooni teada. Sellistes olukordades saab programmeerija ainult meetodi deklareerida. Abstraktne meetod on meetod, millel puudub definitsioon. Sellel on ainult deklaratsioon. Kui on olemas vähem alt üks abstraktne meetod, muutub see klass abstraktseks klassiks. Lisaks võib abstraktne klass sisaldada nii abstraktseid meetodeid kui ka mitteabstraktseid meetodeid. Programmeerija ei saa abstraktsetest klassidest objekte luua.
Kui klass laiendab abstraktset klassi, peaks uus klass määratlema kõik abstraktse klassi abstraktsed meetodid. Teisisõnu eeldame, et abstraktsel klassil A on abstraktne meetod, mida nimetatakse kuvamiseks. Klass B laiendab klassi A. Seejärel peaks klass B määrama meetodi kuva.
Java liidese näide
Oletame, et nii A kui ka B on abstraktsed klassid. Kui klass C laiendab A ja B, peab see klass C määratlema mõlema klassi abstraktsed meetodid. See on mitmekordne pärand. Java ei toeta mitmikpärimist. Selle rakendamiseks peaks programmeerija kasutama liideseid. Kui A ja B on liidesed, saab klass C neid rakendada. Vaadake järgmist näidet.
Joonis 03: liides A
Joonis 04: liides B
Liidesel A on display1 abstraktne meetod ja liidesel B on display2 abstraktne meetod.
Joonis 05: klass C
Class C rakendab nii A- kui ka B-liideseid. Seetõttu peaks see määratlema mõlemad meetodid.
Joonis 06: Põhimeetod
Nüüd on põhimeetodis võimalik luua C-objekt ja kutsuda mõlemat meetodit. Samuti aitavad liidesed rakendada Java-s mitut pärandit.
Liidesed, välja arvatud mitmikpärimine, aitavad saavutada abstraktsiooni. See on üks peamisi kontseptsioone OOP-is. Abstraktsioon võimaldab peita juurutamise üksikasjad ja näidata kasutajale ainult funktsionaalsust. Lisaks võimaldab see keskenduda sellele, mida objekt teeb, mitte sellele, kuidas seda tehakse. Kuna liides koosneb abstraktsetest meetoditest, aitab see abstraktsiooni arhiivida.
Mis vahe on Java paketi ja liidese vahel?
Pakett on seotud klasside rühm, mis pakuvad juurdepääsu kaitset ja nimeruumi haldust. Liides on klassiga sarnane viitetüüp, mis on abstraktsete meetodite kogum. Pakett aitab klasse metoodiliselt kategoriseerida, et neile hõlpsasti juurde pääseda ja neid hooldada. Teisest küljest aitab liides rakendada mitut pärandit ja saavutada abstraktsiooni. See on peamine erinevus Java paketi ja liidese vahel. Lisaks on paketi kirjutamise viis väiketähtedega, näiteks java.util, java.awt. Kui liidese nimi on Area, siis kirjutatakse see liideses Area.
Kokkuvõte – Java pakett vs liides
Java paketi ja liidese erinevus seisneb selles, et pakett aitab klasse metoodiliselt kategoriseerida, et neile hõlpsasti juurde pääseda ja neid hooldada, samas kui liides aitab rakendada mitut pärandit ja saavutada abstraktsiooni.