Junior — Middle
Obyekt yönümlü proqramlaşdırmada abstrakt sinif və interfeys arasında hansı fərqlər var?
sobes.tech Süni İntellekt
AI-dan cavab
Obyekt yönümlü proqramlaşdırmada müqavilələri və davranışları təsvir etmək üçün müxtəlif mexanizmlər olan abstrakt sinif və interfeys, lakin əsas fərqlərlə:
-
Abstrakt sinif həm abstrakt (tətbiqi olmayan), həm də konkret metodlar və tətbiqlər içərə bilər. O, vəziyyətə (sahələr) malik ola bilər. Siniflər abstrakt sinifdən irs götürür və metodları yenidən yaza bilər.
-
İnterfeys yalnız tətbiqi olmayan metodlar toplusunu təsvir edir və vəziyyətə malik deyil. İnterfeysi həyata keçirən sinif onun bütün metodlarını həyata keçirməlidir.
Fərqlərə nümunə:
- Abstrakt sinif, irsi üçün əsas tətbiq və ümumi vəziyyət təyin etmək lazım olduqda uyğundur.
- İnterfeys, müxtəlif sinflər tərəfindən həyata keçirilə bilən imkanları təsvir etmək üçün istifadə olunur, irs əlaqəsi olmadan.
Məsələn, Flyable interfeysi fly() metodunu təsvir edə bilər, və abstrakt sinif Bird wingSpan sahəsini və sing() metodunu tətbiqi ilə içərə bilər.