Əsas fərq – Java-da miras və interfeys
Java Sun Microsystems tərəfindən hazırlanmış proqramlaşdırma dilidir. Java müxtəlif proqramlar hazırlamaq üçün istifadə edilə bilər. O, obyekt yönümlü, strukturlaşdırılmış və s. dəstəkləyən çox paradiqmalı dildir. Java dilinin əsas üstünlüyü onun Obyekt yönümlü proqramlaşdırmanı (OOP) dəstəkləməsidir. Proqramçı siniflər və obyektlər yarada bilər. OOP-da dörd sütun var. Bunlar irsiyyət, polimorfizm, abstraksiya və inkapsulyasiyadır. Varislik və interfeyslər OOP ilə bağlıdır. İrsiyyət və interfeys arasındakı əsas fərq ondan ibarətdir ki, miras mövcud siniflərdən yeni siniflər əldə etməkdir və interfeys mücərrəd sinifləri və çoxlu mirasları həyata keçirməkdir.
Java-da Miras nədir?
Vərəslik kodun təkrar istifadəsinə nail ola bilər. Varislik mövcud sinfin atribut və metodlarından təkrar istifadə etməyə kömək edir. Köhnə sinifdən istifadə edərək yeni sinfin alınması mexanizmi miras adlanır. Köhnə sinif valideyn sinifi və ya super sinif kimi tanınır. Alınan sinif uşaq sinif və ya alt sinif adlanır.
Java mirasının sintaksisi aşağıdakı kimidir.
sinif alt sinif_adı supersinif_adını genişləndirir {
dəyişən bəyannaməsi;
metod bəyannaməsi;
}
Vərəslik anlayışı aşağıdakı nümunə ilə izah edilə bilər. Fərz edək ki, A adlı sinif aşağıdakı kimidir.
ictimai sinif A{
ictimai etibarsızlıq məbləği(){
System.out.println("Cəm");
}
}
Mövcud sinfi dəyişmədən yeni metod əlavə etmək istəyiriksə, bunu aşağıdakı kimi edə bilərik.
ictimai sinif B{
ictimai etibarsız alt(){
System.out.println("Alt");
}
}
Proqramçı A sinfi cəmindən () istifadə etmək üçün mirasdan istifadə edə bilər.
ictimai B sinfi A sinfini genişləndirir{
ictimai etibarsız alt(){
System.out.println("Alt");
}
}
Əsas funksiyada B obyektini yaratmaq və irsiyyətdən istifadə etməklə B sinfinə aid olan sub() və A sinfinə aid olan sum() çağırmaq mümkündür.
public statik etibarsız əsas(String args){
B obyekt=yeni B();
obj.sub();
obj.sum();
}
Müxtəlif miras növləri var. Bunlar tək irsiyyət, çoxlu varislik, çoxsəviyyəli irsiyyət və iyerarxik irsiyyətdir. Tək mirasda bir əsas sinif və bir törəmə sinif var. Çoxsəviyyəli mirasda üç sinif var, bunlar əsas sinif, ara sinif və törəmə sinif. Aralıq sinif əsas sinifdən, törəmə sinif isə ara sinifdən miras alır. İyerarxik varislikdə bir əsas sinif və bir çox törəmə sinif var. Hibrid miras kimi tanınan xüsusi bir növ var. Bu, iki və ya daha çox miras növünün birləşməsidir.
Şəkil 01: Miras
Çoxlu varislikdə çoxlu əsas siniflər və bir törəmə sinif var. Fərz edək ki, A və B sinifləri əsas siniflərdir. C sinfi törəmə sinifdir. Əgər həm A, həm də B sinifləri eyni metoda malikdirsə və proqramçı həmin metodu törəmə sinifdən çağırırsa, bu, qeyri-müəyyənlik probleminə səbəb olacaq. İki sinfin miras alınması kompilyasiya zamanı xətasına səbəb ola bilər. Buna görə də, Java-da çoxlu varislik dəstəklənmir. Bu problemi aradan qaldırmaq üçün interfeysdən istifadə edilə bilər.
Java-da İnterfeys nədir?
Abstraksiya icra təfərrüatlarını gizlətmək və istifadəçiyə yalnız funksionallıqları göstərmək prosesidir. Abstraksiya Abstrakt Siniflər və ya İnterfeyslərdən istifadə etməklə əldə edilə bilər. Mücərrəd bir üsul icrası olmayan bir üsuldur. Ən azı bir mücərrəd metodu olan sinif abstrakt sinifdir. Abstrakt sinif nümunəsi aşağıdakı kimidir.
mücərrəd sinif A{
mücərrəd boşluq məbləği();
}
Fərz edək ki, A və B kimi iki mücərrəd sinif var. A və B mücərrəd üsullarını həyata keçirmək üçün yeni C sinfi yaradılır. Sonra C sinfi həm A, həm də B-ni genişləndirməlidir, lakin Java-da çoxlu varislik dəstəklənmir. Buna görə də interfeyslərdən istifadə edilməlidir. Metodları elan etmək üçün interfeyslərdən istifadə edilə bilər, lakin metodları müəyyən etmək mümkün deyil. İnterfeyslərdən istifadə edərək obyekt yaratmaq mümkün deyil. Sinif C bütün metodları A və B interfeysində tətbiq etməlidir.
interfeys A{
keçmiş məbləğ();
}
interfeys B{
void sub();
}
sinif C qurğuları A, B{
ictimai etibarsızlıq məbləği(){
System.out.println("Cəmləşdirmə");
}
ictimai etibarsız alt(){
System.out.println("Çıxarma");
}
}
İndi əsas proqramda C obyekti yaratmaq və hər iki metodu çağırmaq mümkündür.
ictimai statik boşluq əsas (String args) {
C obyekt=yeni C();
obj.sum();
obj.sub();
}
Beləliklə, interfeyslər çoxlu mirasın həyata keçirilməsi üçün istifadə edə bilər.
İnterfeyslərdən başqa bir istifadə onun təhlükəsizliyi təmin etməsidir. Aşağıdakı koda baxın.
interfeys A {
keçmiş məbləğ ();
}
sinif B A tətbiq edir {
ictimai etibarsızlıq məbləği () {
System.out.println("Cəmləşdirmə");
}
ictimai boşluq çoxalır () {
System.out.println("Çarpma");
}
}
B obyekti yaradarkən həm cəm () həm də vurma () metodunu çağırmaq olar. Proqramçı çox altma () funksiyasından istifadəni məhdudlaşdırmaq istəsə, bu, aşağıdakı kimi mümkündür.
public statik etibarsız əsas(String args){
A obyekt=yeni B();
obj.sum();
}
A obyekt=yeni B(); obyekt yaradacaq. O, A tiplidir və yaddaş B kimi ayrılır. Sum() funksiyasını çağırmaq olar, lakin multiply() funksiyasını yerinə yetirə bilmir. Bu məhdudiyyət interfeyslərdən istifadə etməklə həyata keçirilir.
Java-da miras və interfeys arasında hansı oxşarlıqlar var?
- Hər iki konsepsiya Obyektyönümlü Proqramlaşdırma ilə bağlıdır
- Hər ikisi IS-A əlaqəsini təmsil edir.
Java-da miras və interfeys arasındakı fərq nədir?
Vərəslik və Java-da İnterfeys |
|
Vərəslik mövcud siniflərdən yeni siniflər əldə etmək üçün OOP konsepsiyasıdır. | İnterfeys OOP-da abstraksiya və çoxlu varisliyin həyata keçirilməsi üçün mexanizmdir. |
İstifadə | |
Vərəslik kodun təkrar istifadəsini təmin edir. | İnterfeyslər abstraksiya və çoxsaylı varislik təmin edir. |
Xülasə – Java-da miras və İnterfeys
Java obyekt yönümlü proqramlaşdırmanı dəstəkləyən çoxparadiqmalı proqramlaşdırma dilidir. Varislik və interfeyslər obyekt yönümlü proqramlaşdırma ilə əlaqədardır. İrsiyyət və interfeys arasındakı fərq ondan ibarətdir ki, miras mövcud siniflərdən və interfeyslərdən yeni siniflər əldə etmək üçün mücərrəd siniflər və çoxsaylı mirasları həyata keçirməkdir.
Vərəsliyin PDF versiyasını Java-da İnterfeyslə yükləyin
Bu məqalənin PDF versiyasını yükləyə və sitat qeydinə əsasən onu oflayn məqsədlər üçün istifadə edə bilərsiniz. Zəhmət olmasa, PDF versiyasını buradan yükləyin Java-da Miras və İnterfeys Arasındakı Fərq