Sobes.tech
Junior — Middle

Πώς υλοποιείται η κλήση της μεθόδου της βασικής κλάσης από ένα ενσωματωμένο συστατικό ή δομή;

sobes.tech AI

Απάντηση από AI

Στο Go, οι ενσωματωμένες δομές (embedding) επιτρέπουν την ενσωμάτωση ενός τύπου σε έναν άλλο, δίνοντας τη δυνατότητα άμεσης χρήσης των μεθόδων του ενσωματωμένου τύπου. Για να καλέσετε τη μέθοδο του βασικού (ενσωματωμένου) τύπου, μπορείτε να την προσεγγίσετε μέσω του ονόματος του πεδίου.

Παράδειγμα:

package main

import "fmt"

type Base struct{}

func (b Base) Hello() {
    fmt.Println("Γειά από το Base")
}

type Derived struct {
    Base
}

func (d Derived) Hello() {
    fmt.Println("Γειά από το Derived")
    // Κλήση της μεθόδου του βασικού τύπου
    d.Base.Hello()
}

func main() {
    d := Derived{}
    d.Hello()
}

Σε αυτό το παράδειγμα, η μέθοδος Hello της δομής Derived καλεί τη μέθοδο Hello της ενσωματωμένης δομής Base μέσω του d.Base.Hello(). Έτσι, μπορείτε να καλέσετε ρητά τη μέθοδο της βασικής κλάσης από το ενσωματωμένο συστατικό.