Sobes.tech
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.