Java-da Paket və İnterfeys arasındakı əsas fərq ondan ibarətdir ki, Paket sinifləri asanlıqla əldə etmək və saxlamaq üçün metodik olaraq kateqoriyalara ayırmağa kömək edir, İnterfeys isə çoxsaylı mirasları həyata keçirməyə və abstraksiyaya nail olmağa kömək edir.
Java ən məşhur proqramlaşdırma dillərindən biridir. Java-nın əsas üstünlüyü onun obyekt yönümlü proqramlaşdırmanı dəstəkləməsidir. Bu metodologiya proqramda real dünya obyektlərini modelləşdirməyə imkan verir. Sinif bir obyekt yaratmaq üçün plandır. Hər bir obyekt atributları və ya davranışları təsvir etmək üçün xassələri və metodları təsvir etmək üçün məlumat və ya sahələrdən ibarətdir. Bu məqalə Java-da Java-da OOP ilə əlaqəli iki anlayışdan bəhs edir, paket və interfeys.
Java-da Paket nədir?
Java çoxlu sayda dərs təqdim edir. Bütün sinifləri bir qovluqda saxlamaq çətin ola bilər, çünki daxil olmaq çətindir. Bu, proqramın idarəolunmasına təsir göstərə bilər. Java dərsləri təşkil etmək üçün paketlərdən istifadə edir. O, qovluğa bənzəyir. Java API funksionallığına görə sinifləri müxtəlif paketlərə qruplaşdırır. Buna görə də, hər bir paketdə əlaqəli siniflər dəsti var.
Javada Paket Nümunəsi
Bir neçə nümunə paketi aşağıdakı kimidir. java.io paketi giriş, çıxışı dəstəkləyən sinifləri ehtiva edir. Buraya Fayl, PrintStream, BufferInputStream və s. daxildir. Java.net paketi şəbəkə ilə əlaqəli sinifləri ehtiva edir. Bəzi nümunələr URL, Soket, ServerSocketdir. java.awt paketi Qrafik İstifadəçi İnterfeyslərinin qurulması üçün tələb olunan bütün sinifləri ehtiva edir. Bunlar bir neçə Java API paketidir.
Proqramçı proqramda müəyyən sinifdən istifadə etmək istədikdə həmin paketi idxal etməlidir. Proqramçı java.io paketində BufferInputStream sinfindən istifadə etmək istəyirsə, idxal bəyanatını aşağıdakı kimi yazmalıdır.
import java.util. BufferInoutStream;
Aşağıdakı ifadə util paketindəki bütün sinifləri import edəcək.
import java.util.;
İstifadəçi tərəfindən müəyyən edilmiş paketlər yaratmaq da mümkündür.
paket işçisi;
ictimai sinif İşçi {
}
Yuxarıdakı nümunəyə görə, işçi paketin adıdır. İşçi sinfi işçilər paketinin bir hissəsidir. Bu fayl işçi paketində Employee.java olaraq yadda saxlanılır.
Bundan başqa, ictimai sinfi bir paketdən digərinə idxal etmək mümkündür. Aşağıdakı nümunəyə baxın.
Şəkil 01: Sinif A
Şəkil 02: Sinif B
Sinif A 1-ci paketdədir və o, displey adlı ictimai metodu ehtiva edir. B sinfi 2-ci paketdədir və o, əsas metodu ehtiva edir. Ayrı-ayrı paketlərdə olsalar da; B sinfi paket1 idxal etməklə A sinfinin obyektini yarada bilər. 1-ci paketi idxal etdikdən sonra B sinfi A sinfinin məlumat və metodlarına giriş əldə edir.
Ümumilikdə, Java paketi layihə fayllarını təşkil etməyə kömək edir. Bu, böyük bir sistem hazırlayarkən çox faydalıdır, çünki bütün faylları metodik şəkildə saxlamağa imkan verir. Bundan əlavə, Java API paketləri proqramçılara artıq mövcud siniflərdən istifadə etməyə imkan verir.
Java-da İnterfeys nədir?
Bəzən proqramçı metodun tərifini bilmir. Bu vəziyyətdə proqramçı yalnız metodu elan edə bilər. Mücərrəd metod tərifi olmayan metoddur. Yalnız bəyannamə var. Ən azı bir mücərrəd metod olduqda həmin sinif mücərrəd sinifə çevrilir. Bundan əlavə, mücərrəd sinif mücərrəd metodlarla yanaşı, mücərrəd olmayan metodları da ehtiva edə bilər. Proqramçı abstrakt siniflərdən obyektlər yarada bilməz.
Sinif mücərrəd sinfi genişləndirdikdə, yeni sinif abstrakt sinifdəki bütün mücərrəd metodu müəyyən etməlidir. Başqa sözlə, fərz edək ki, abstrakt A sinfi displey adlı mücərrəd metoda malikdir. B sinfi A sinfini genişləndirir. Sonra B sinfi metod ekranını təyin etməlidir.
Java-da İnterfeys nümunəsi
Fərz edək ki, həm A, həm də B abstrakt siniflərdir. Əgər C sinfi A və B-ni genişləndirirsə, bu C sinfi hər iki sinfin mücərrəd üsullarını müəyyən etməlidir. Bu çoxlu mirasdır. Java çoxlu varisliyi dəstəkləmir. Onu həyata keçirmək üçün proqramçı interfeyslərdən istifadə etməlidir. Əgər A və B interfeysdirsə, onda C sinfi onları həyata keçirə bilər. Aşağıdakı nümunəyə baxın.
Şəkil 03: İnterfeys A
Şəkil 04: İnterfeys B
A interfeysində displey1 abstrakt metodu, B interfeysində isə displey2 abstrakt metodu var.
Şəkil 05: Sinif C
Class C həm A, həm də B interfeyslərini həyata keçirir. Buna görə də o, hər iki üsulu müəyyən etməlidir.
Şəkil 06: Əsas Metod
İndi əsas metodda C-nin obyektini yaratmaq və hər iki metodu çağırmaq mümkündür. Eynilə, interfeyslər Java-da çoxlu miras almağa kömək edir.
Çoxlu irsiyyətdən başqa, interfeyslər abstraksiyaya nail olmağa kömək edir. OOP-da əsas konsepsiyalardan biridir. Abstraksiya icra detallarını gizlətməyə və istifadəçiyə yalnız funksionallığı göstərməyə imkan verir. Bundan əlavə, bu, obyektin necə edildiyi əvəzinə nə etdiyinə diqqət yetirməyə imkan verir. İnterfeys abstrakt metodlardan ibarət olduğundan abstraksiyanı arxivləşdirməyə kömək edir.
Java-da Paket və İnterfeys Arasındakı Fərq Nədir?
Paket girişin qorunması və ad məkanının idarə edilməsini təmin edən əlaqəli siniflər qrupudur. İnterfeys mücərrəd metodlar toplusu olan sinfə bənzər bir istinad növüdür. Paket asanlıqla daxil olmaq və saxlamaq üçün dərsləri metodik olaraq təsnif etməyə kömək edir. Digər tərəfdən, İnterfeys çoxlu mirasın həyata keçirilməsinə və abstraksiyaya nail olmağa kömək edir. Java-da Paket və İnterfeys arasındakı əsas fərq budur. Bundan əlavə, paketi yazmağın yolu java.util, java.awt kimi kiçik hərflərlə yazılır. Əgər interfeysin adı Area-dırsa, o, interfeys Sahəsində yazılır.
Xülasə – Paket və Java-da İnterfeys
Java-da Paket və İnterfeys arasındakı fərq ondan ibarətdir ki, Paket sinifləri asanlıqla əldə etmək və saxlamaq üçün metodik olaraq kateqoriyalara ayırmağa kömək edir, İnterfeys isə çoxsaylı mirasları həyata keçirməyə və abstraksiyaya nail olmağa kömək edir.