Sobes.tech
Junior — Middle

Czy możesz wymienić główne wzorce programowania obiektowego?

sobes.tech AI

Odpowiedź od AI

Główne wzorce programowania obiektowego (OOP) obejmują:

  • Dziedziczenie: umożliwia tworzenie nowych klas na podstawie istniejących, dziedzicząc ich właściwości i metody.
  • Enkapsulacja: ukrywa wewnętrzne szczegóły implementacji obiektu, zapewniając dostęp tylko przez metody publiczne.
  • Polimorfizm: zdolność obiektów różnych klas do reagowania na te same wiadomości (metody) w różny sposób.
  • Abstrakcja: wyodrębnia istotne cechy obiektu, ukrywając nieistotne szczegóły.

Te wzorce pomagają tworzyć elastyczne, rozszerzalne i łatwe w utrzymaniu programy.

Przykład w Go (użycie interfejsów do polimorfizmu):

package main
import "fmt"

type Animal interface {
    Speak() string
}

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

type Cat struct{}
func (c Cat) Speak() string {
    return "Miau!"
}

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

W tym przykładzie różne typy implementują ten sam interfejs, demonstrując polimorfizm.