Тхе кључна разлика између пакета и интерфејса у Јави је то Пакет помаже у категоризацији класа да се њима лако приступа и одржава, док интерфејс помаже у спровођењу више наслеђа и у постизању апстракције.
Јава је један од најпопуларнијих програмских језика. Главна предност Јава је што подржава објектно оријентисано програмирање. Ова методологија омогућава моделирање стварних предмета у софтверу. Класа је нацрт за креирање објекта. Сваки објекат садржи податке или поља која описују атрибуте или својства и методе за описивање понашања. Овај чланак говори о два концепта везана за ООП у Јави на Јави који су пакет и интерфејс.
1. Преглед и кључне разлике
2. Шта је пакет у Јави
3. Шта је интерфејс у Јави
4. Упоредна упоредба - Пакет и интерфејс на Јави у табеларном облику
5. Резиме
Јава пружа велики број часова. Чување свих класа у једној мапи може бити тешко јер је тешко приступити. Ово може утицати на управљивост програма. Јава користи пакете за организовање часова. Слично је са мапом. Јава АПИ групише класе у различите пакете у складу са функционалношћу. Стога сваки пакет садржи сродни скуп класа.
Неколико примерних пакета су следећи. Пакет јава.ио садржи класе подршке улазу, излазу. Садржи Филе, ПринтСтреам, БуфферИнпутСтреам итд. Пакет јава.нет садржи класе повезане са умрежавањем. Неки примери су УРЛ, Соцкет, СерверСоцкет. Пакет јава.авт садржи све класе потребне за изградњу графичког корисничког сучеља. Ово је неколико Јава АПИ пакета.
Када програмер жели да користи одређену класу у програму, требало би да увози тај пакет. Ако програмер жели користити класу БуфферИнпутСтреам у пакету јава.ио, требао би написати изјаву о увозу на следећи начин.
импорт јава.утил.БуфферИноутСтреам;
Испод изјаве ће се увести све класе у утил пакету.
импорт јава.утил. *;
Такође је могуће креирати пакете који су дефинисани од стране корисника.
запослени у пакету;
Запослени у јавној класи
Према горе наведеном примеру, запослени је назив пакета. Класа запослених је део пакета запослених. Ова се датотека чува као Емплоиее.јава у пакету запосленика.
Надаље, могуће је увести јавну класу из једног у други пакет. Погледајте следећи пример.
Слика 01: Класа А
Слика 02: Класа Б
Класа А је у пакету 1 и садржи јавни метод под називом дисплаи. Класа Б је у пакету 2 и садржи главну методу. Иако су у одвојеним пакетима; класа Б може да креира објект класе А увозом пакета1. Након увоза пакета 1, класа Б има приступ подацима и методама класе А.
Све у свему, пакет на Јави помаже да се организују датотеке пројекта. Ово је веома корисно у развоју великог система, јер омогућава похрањивање свих датотека на методички начин. Поред тога, Јава АПИ пакети омогућавају програмерима да користе већ постојеће класе.
Понекад програмер можда не зна дефиницију методе. У таквим ситуацијама програмер може само прогласити методу. Апстрактна метода је метода која нема дефиницију. Има само декларацију. Када постоји бар једна апстрактна метода, та класа постаје апстрактна класа. Штавише, апстрактна класа може садржавати и апстрактне методе као и нестрашне методе. Програмер не може да ствара објекте из апстрактних класа.
Када класа прошири апстрактну класу, нова класа треба да дефинише сву апстрактну методу у апстрактној класи. Другим речима, претпоставите да апстрактна класа А има апстрактну методу која се назива приказ. Класа Б проширује класу А. Тада класа Б треба да дефинише приказ метода.
Претпоставимо да су и А и Б апстрактне класе. Ако класа Ц проширује А и Б, онда класа Ц мора да дефинише апстрактне методе обе класе. Ово је вишеструко наслеђивање. Јава не подржава више насљеђивања. Да би га спровео, програмер треба да користи интерфејсе. Ако су А и Б интерфејси, онда их класа Ц може имплементирати. Погледајте следећи пример.
Слика 03: Интерфејс А
Слика 04: Интерфејс Б
Сучеље А има апстрактну методу дисплаи1, а интерфејс Б апстрактну методу дисплаи2.
Слика 05: Класа Ц
Класа Ц имплементира и А и Б интерфејсе. Због тога треба дефинирати обје методе.
Слика 06: Главни метод
Сада је у главној методи могуће креирати објект Ц и позвати обје методе. Исто тако, интерфејси помажу у имплементацији вишеструког насљеђивања у Јави.
Сучеља, осим вишеструког наслеђивања, помажу у постизању апстракције. То је један од главних концепата у ООП-у. Апстракција омогућава сакривање детаља имплементације и кориснику приказује само функционалност. Надаље, омогућава фокусирање на оно што предмет ради умјесто на то како се ради. Како се сучеље састоји од апстрактних метода, помаже у архивирању апстракције.
Пакет је група сродних класа које пружају заштиту приступа и управљање простором имена. Интерфејс је референтни тип сличан класи који је збир апстрактних метода. Пакет помаже да се класе методички категоришу да би им се лако приступио и одржавао. С друге стране, интерфејс помаже у спровођењу више наслеђа и у постизању апстракције. Ово је главна разлика између пакета и интерфејса у Јави. Надаље, начин писања пакета је малим словима као што су јава.утил, јава.авт. Ако је назив интерфејса Подручје, онда је уписано у, Подручје интерфејса.
Разлика између пакета и интерфејса у Јави је што пакет помаже да се класе методички категоришу да би им се лако приступио и одржавао, док интерфејс помаже у имплементацији више наслеђивања и постизању апстракције..
1.Туториалс Поинт. „Јава пакети“. Туториалс Поинт, 24. марта 2018. Доступно овде
2.Туториалс Поинт. „Јава интерфејси.“ Туториалс Поинт, 24. марта 2018. Доступно овде