Sobes.tech
Junior — Middle

Môže sa rozhranie považovať za definíciu typu dát v programovacích jazykoch?

sobes.tech AI

Odpoveď od AI

V jazyku Go možno rozhranie považovať za definíciu súboru metód, ktoré musí typ implementovať, aby bol kompatibilný s týmto rozhraním. Týmto spôsobom rozhranie určuje správanie, nie konkrétnu dátovú štruktúru.

Rozhranie nepopisuje konkrétne polia alebo vnútornú štruktúru typu, iba súbor metód, ktoré typ musí mať. Preto možno rozhranie považovať za definíciu typu dát v širokom zmysle — je to abstraktný typ založený na správaní, nie na štruktúre.

Príklad:

// Rozhranie Reader definuje metódu Read
type Reader interface {
    Read(p []byte) (n int, err error)
}

// Akýkoľvek typ, ktorý implementuje metódu Read, spĺňa rozhranie Reader