Sobes.tech
Junior — Middle

Můžeš uvést hlavní vzory objektově orientovaného programování?

sobes.tech AI

Odpověď od AI

Hlavní vzory objektově orientovaného programování (OOP) zahrnují:

  • Dědičnost (Inheritance): umožňuje vytvářet nové třídy na základě stávajících, dědí jejich vlastnosti a metody.
  • Zapouzdření (Encapsulation): skrývá vnitřní detaily implementace objektu, zpřístupňuje je pouze prostřednictvím veřejných metod.
  • Polymorfismus (Polymorphism): schopnost objektů různých tříd reagovat na stejné zprávy (metody) odlišně.
  • Abstrakce (Abstraction): zdůrazňuje podstatné vlastnosti objektu, skrývá nepodstatné detaily.

Tyto vzory pomáhají vytvářet flexibilní, rozšiřitelné a udržovatelné programy.

Příklad v Go (použití rozhraní pro polymorfismus):

package main
import "fmt"

type Animal interface {
    Speak() string
}

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

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

func main() {
    animals := []Animal{Dog{}, Cat{}}
    for _, animal := range animals {
        fmt.Println(animal.Speak())
    }
}

V tomto příkladu různé typy implementují stejnou rozhraní, čímž demonstrují polymorfismus.