Junior — Middle
Aké spoločné znaky spájajú triedy a rozhrania v objektovo orientovanom programovaní?
sobes.tech AI
Odpoveď od AI
Triedy a rozhrania v objektovo orientovanom programovaní zdieľajú niekoľko spoločných čŕt:
- Abstrakcia: Obidve umožňujú opisovať abstraktné dátové typy, skrývajúc detaily implementácie.
- Definícia správania: Ako triedy, tak rozhrania stanovujú súbor metód, ktoré musia byť implementované.
- Polymorfizmus: Prostredníctvom tried a rozhraní je možné implementovať polymorfné správanie, čo umožňuje používať objekty rôznych typov jednotne.
- Typovanie: Obidve slúžia na definovanie typov, ktoré je možné použiť na deklarovanie premenných a parametrov funkcií.
V Go rozhrania definujú súbor metód, a nie je tu trieda ako taká, ale štruktúry s metódami plnia úlohu tried. Rozhrania opisujú správanie, a štruktúry obsahujú údaje a implementáciu.
Príklad v Go:
// Rozhranie
type Reader interface {
Read(p []byte) (n int, err error)
}
// Štruktúra s metódou, ktorá implementuje rozhranie
type File struct {}
func (f File) Read(p []byte) (n int, err error) {
// implementácia
return 0, nil
}
func main() {
var r Reader = File{}
r.Read(nil)
}