Sobes.tech
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)
 }