Sobes.tech
Junior

Abstrakt siniflər və interfeyslər arasındakı fərq nədir?

sobes.tech Süni İntellekt

AI-dan cavab

Mürəkkəb sinif:

  • Təkamüllü (implementasiyalı olmayan) və konkret (implementasiyalı) metodlar içərə bilər.
  • Sahələr (nümunə dəyişənləri) içərə bilər.
  • Konstruktorlara malik ola bilər.
  • Yalnız tək irsiyyəti dəstəkləyir (bir sinif bir abstrakt sinifdən irs ala bilər).
  • Əlaqəli sinflər üçün əsas struktur və ümumi davranışı müəyyən etmək üçün istifadə olunur.

İnterfeys:

  • Yalnız abstrakt metodlar içərə bilər (bəzi dillər, məsələn Java 8 və yuxarı, default və static metodlar ilə implementasiya etməyə imkan verir).
  • Nümunə sahələri (yalnız sabitlər) içərə bilməz.
  • Konstruktorlara malik ola bilməz.
  • Çoxsaylı implementasiyanı dəstəkləyir (bir sinif bir neçə interfeys tətbiq edə bilər).
  • Siniflərin yerinə yetirməli olduğu müqaviləni müəyyən etmək üçün istifadə olunur.