Junior — Middle
Можеш ли да наведеš главне шаблоне објектно-оријентисаног програмирања?
sobes.tech АИ
Одговор од АИ
Glavni obrasci objektno-orijentisanog programiranja (OOP) uključuju:
- Nasleđivanje: omogućava kreiranje novih klasa na osnovu postojećih, nasleđujući njihove osobine i metode.
- Enkapsulacija: skriva unutrašnje detalje implementacije objekta, omogućavajući pristup samo putem javnih metoda.
- Polimorfizam: sposobnost objekata različitih klasa da reaguju na iste poruke (metode) na različite načine.
- Apstrakcija: ističe suštinske karakteristike objekta, skrivajući nebitne detalje.
Ovi obrasci pomažu u pravljenju fleksibilnih, proširivih i održivih programa.
Primer u Go (korišćenje interfejsa za polimorfizam):
package main
import "fmt"
type Animal interface {
Speak() string
}
type Dog struct{}
func (d Dog) Speak() string {
return "Vau!"
}
type Cat struct{}
func (c Cat) Speak() string {
return "Mijau!"
}
func main() {
animals := []Animal{Dog{}, Cat{}}
for _, animal := range animals {
fmt.Println(animal.Speak())
}
}
U ovom primeru, različiti tipovi implementiraju isti interfejs, demonstrirajući polimorfizam.