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.