Sobes.tech
Junior — Middle

Adi sinif və abstrakt sinifin ümumi xüsusiyyətləri nədir və onlar necə oxşardır?

sobes.tech Süni İntellekt

AI-dan cavab

Go dilində ənənəvi mənada siniflər mövcud deyil, digər obyekt yönümlü dillərdə olduğu kimi, lakin onları tiplər və interfeyslərlə müqayisə etmək olar.

Əgər ümumi obyekt yönümlü kontekstdə adi siniflər və abstrakt siniflər haqqında danışsaq, onların ümumi xüsusiyyətləri var:

  • Hər ikisi sahələr (vəziyyət) və metodlar (davranış) içərə bilər.
  • Hər ikisi məntiq və məlumatların kapsüllənməsi üçün xidmət edir.
  • Hər ikisi irsi və ya kompozisiya yolu ilə yeni tiplər yaratmaq üçün baza kimi istifadə oluna bilər.

Fərqlər:

  • Abstrakt sinif birbaşa instansiya edilə bilməz və çox vaxt implementasiyası olmayan abstrakt metodlar ehtiva edir, bunlar törəmə siniflərdə həyata keçirilməlidir.
  • Adi sinfi birbaşa yaratmaq mümkündür və adətən tam implementasiya ehtiva edir.

Go-da oxşar funksionallığa çatmaq üçün, davranışları təyin edən interfeyslər və metodlara malik strukturlar istifadə olunur. Abstrakt siniflər interfeyslərlə əvəz olunur, və adi siniflər isə metodlara malik strukturlarla ifadə edilir.