Sobes.tech
Junior — Middle

¿Cómo se implementa el mecanismo de herencia en el lenguaje Go y cuál es su implementación?

sobes.tech AI

Respuesta de la IA

En el lenguaje Go no existe herencia clásica, como en los lenguajes orientados a objetos. En su lugar, se utilizan composición e interfaces.

  • Composición: En lugar de heredar estructuras, se puede incluir una estructura en otra. Esto permite "incorporar" comportamiento y datos.

  • Interfaces: Go usa interfaces para describir comportamientos. Cualquier estructura que implemente los métodos de una interfaz se considera su implementación.

Ejemplo de composición:

package main

import "fmt"

type Animal struct {
    Name string
}

func (a Animal) Speak() {
    fmt.Println(a.Name, "dice")
}

type Dog struct {
    Animal // inclusión de la estructura Animal
}

func main() {
    d := Dog{Animal{Name: "Boby"}}
    d.Speak() // llamará al método Animal
}

De esta forma, Go fomenta el uso de composición e interfaces en lugar de herencia clásica.