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