Junior — Middle
Obyekt yönümlü proqramlaşdırmada sinifləri və interfeysləri birləşdirən ümumi xüsusiyyətlər hansılardır?
sobes.tech Süni İntellekt
AI-dan cavab
Obyekt yönümlü proqramlaşdırmada siniflər və interfeyslər bir neçə ümumi xüsusiyyəti paylaşır:
- Abstraksiya: Hər ikisi abstrakt məlumat tiplərini təsvir etməyə imkan verir, həyata keçirmə detalları gizlədilir.
- Davranışın təyini: Həm siniflər, həm də interfeyslər yerinə yetirilməli olan metodlar toplusunu müəyyən edir.
- Çox formallıq: Siniflər və interfeyslər vasitəsilə çox formallı davranışlar həyata keçirilə bilər, bu da müxtəlif tiplərdəki obyektlərin vahid şəkildə istifadə olunmasına imkan verir.
- Tipin təyini: Hər ikisi dəyişənlərin və funksiyaların parametrlərinin elanında istifadə edilə bilən tipləri müəyyən etmək üçün istifadə olunur.
Go dilində, interfeyslər metodlar toplusunu müəyyən edir və sinif kimi bir şey yoxdur, lakin metodlar ilə strukturlar sinif rolunu oynayır. Interfeyslər davranışı təsvir edir, strukturlar isə məlumatlar və həyata keçirmə.
Go nümunəsi:
// Interfeys
type Reader interface {
Read(p []byte) (n int, err error)
}
// Interfeysə uyğun metodlara malik struktur
type File struct {}
func (f File) Read(p []byte) (n int, err error) {
// həyata keçirmə
return 0, nil
}
func main() {
var r Reader = File{}
r.Read(nil)
}