Sobes.tech
Junior — Middle

Môžete uviesť príklady prípadov, keď sa v programovaní používajú rozhrania?

sobes.tech AI

Odpoveď od AI

V jazyku Go se rozhrania používajú na určenie správania, ktoré musia implementovať typy, bez určenia konkrétnej implementácie. To umožňuje vytvárať flexibilné a rozšíriteľné programy.

Príklady použitia rozhraní:

  • Polymorfizmus: rôzne typy implementujú rovnaké rozhranie a môžu sa navzájom zamieňať.

  • Abstrakcia: skrývanie detailov implementácie, napríklad rozhranie io.Reader popisuje metódu Read, a rôzne zdroje dát (súbory, siete) ju implementujú svojím spôsobom.

  • Testovanie: je možné vytvárať mocky, ktoré implementujú rozhrania, na nahradenie skutočných závislostí.

  • Spracovanie chýb a udalostí: rozhrania umožňujú definovať spracovateľov s rôznou logikou.

Príklad:

package main
import "fmt"

type Speaker interface {
    Speak() string
}

type Dog struct{}
func (d Dog) Speak() string {
    return "Hav"
}

type Cat struct{}
func (c Cat) Speak() string {
    return "Mňau"
}

func makeSpeak(s Speaker) {
    fmt.Println(s.Speak())
}

func main() {
    d := Dog{}
    c := Cat{}
    makeSpeak(d) // Hav
    makeSpeak(c) // Mňau
}

Týmto spôsobom umožňujú rozhrania v jazyku Go písať univerzálnejší a udržiavateľnejší kód.