Sobes.tech
Junior — Middle

Puoi nominare i principali pattern della programmazione orientata agli oggetti?

sobes.tech AI

Risposta dell'AI

I modelli principali della programmazione orientata agli oggetti (OOP) includono:

  • Ereditarietà: consente di creare nuove classi basate su classi esistenti, ereditando le loro proprietà e metodi.
  • Incapsulamento: nasconde i dettagli interni dell'implementazione dell'oggetto, fornendo l'accesso solo tramite metodi pubblici.
  • Polimorfismo: capacità degli oggetti di diverse classi di rispondere in modo diverso agli stessi messaggi (metodi).
  • Astrazione: evidenzia le caratteristiche essenziali dell'oggetto, nascondendo i dettagli non essenziali.

Questi modelli aiutano a creare programmi flessibili, estensibili e manutenibili.

Esempio in Go (uso di interfacce per il polimorfismo):

package main
import "fmt"

type Animal interface {
    Speak() string
}

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

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

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

In questo esempio, diversi tipi implementano un'interfaccia comune, dimostrando il polimorfismo.