Junior
Bəzi interfeyslərdə niyə metodlar təyin edilmir?
sobes.tech Süni İntellekt
AI-dan cavab
Belə interfeyslər marker interfeyslər (işarə interfeyslər) adlanır. Onlar metodlar ehtiva etmir və sinifləri qeyd etmək üçün istifadə olunur, tərtibçi və ya JVM-ə müəyyən xüsusiyyətləri və ya semantikanı göstərir.
Nümunələr:
java.io.Serializable: Sinfi seriyalaşdırıla bilən kimi işarələyir.java.lang.Cloneable: Obekti klonlama imkanını göstərir.java.util.RandomAccess: Siyahı elementlərinə təsadüfi giriş üçün optimallaşdırır.
Üstünlüklər:
- Semantika: Sinfə qarşı proqramçının niyyətini açıq şəkildə göstərir.
- Polimorfizm: Eyni marker interfeysini həyata keçirən siniflər qrupu ilə işləyərkən polimorfik çağırışlara imkan verir.
- Qeyd: Alətlərə (məsələn, çərçivələr, ORM) əlavə məlumat vermək üçün istifadə oluna bilər.
Alternativlər (müvafiq kontekstdən asılı olaraq):
- Anotasiya (
@interface). - Abstrakt siniflər.
Marker interfeyslər, sinfin davranışını əlavə etmədən atributunu qeyd etmək lazım olduqda üstünlük verilən seçimdir.