Junior
Niyə bəzi interfeyslərdə metodlar təyin edilmir?
sobes.tech Süni İntellekt
AI-dan cavab
Marker interfeyslər (işarə interfeyslər) metodlar təyin etmir. Onlar sinfi işarələmək üçün istifadə olunur və onun müəyyən bir xüsusiyyətə və ya imkanlara malik olduğunu göstərir.
Marker interfeyslərinə nümunələr:
java.io.Serializable: Ob'ektləri serializasiya edilə bilən sinfi işarələyir.java.lang.Cloneable: Ob'ektləri klonlamağa imkan verən sinfi işarələyir (clone()metodunu dəstəkləyir).java.util.RandomAccess: Sürətli (sabit vaxt) təsadüfi girişə malik olan siyahıları işarələyir.
Marker interfeyslərinin istifadəsi aşağıdakıları təmin edir:
- Sinifləri tanımaq: Ob'ektin növünü
instanceofoperatoru ilə yoxlamaq.// ob'ektin serializasiya edilə biləcəyini yoxlamaq if (object instanceof Serializable) { // serializasiya etmək } - Davranışı dəyişdirmək: API-lər, sinfin marker interfeysini tətbiq edib etməməsinə görə davranışlarını dəyişə bilər. Məsələn, əgər siyahı
RandomAccess-ı tətbiq edibsə, onun üzərindəki əməliyyatlar optimallaşdırıla bilər. - Girişə məhdudiyyət qoymaq: Bəzi API-lər, onlara ötürülən obyektlərin müəyyən marker interfeysini tətbiq etməsini tələb edə bilər.
- Əlavələr: Daha müasir yanaşmalarda, marker interfeyslərinin çox istifadə sahəsi əlavələr vasitəsilə həyata keçirilir. Ancaq marker interfeysləri hələ də Java-nın standart kitabxanasında və köhnə kodlarda istifadə olunur.