Junior — Middle
Koje posledice nastaju ako struktura podataka ne implementira zadati interfejs u objektno-orijentisanom programiranju?
sobes.tech АИ
Одговор од АИ
У Go, интерфејси се имплементирају нејавно: ако структура садржи све методе интерфејса, она га имплементира. Ако структура не имплементира дат интерфејс:
- Компилатор ће изазвати грешку када покушате да користите ту структуру као вредност типа интерфејса.
- Ово спречава грешке у време извршавања, јер Go строго проверава усклађеност са интерфејсима током компилације.
На пример, ако имате интерфејс:
type Reader interface {
Read(p []byte) (n int, err error)
}
И структуру:
type MyStruct struct {}
// Нема метод Read, стога MyStruct не имплементира Reader
Покушај да се MyStruct додели променљивој типа Reader ће изазвати грешку компилације.
На овај начин, ако структура не имплементира интерфејс, нећете моћи да је користите тамо где се очекује тај интерфејс, што помаже у избегавању логичких грешака у програму.