Sobes.tech
Junior — Middle

Ποιο ρόλο παίζει η δομή στην έννοια του αντικειμενοστραφούς προγραμματισμού;

sobes.tech AI

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

Στη γλώσσα Go, μια δομή (struct) είναι ένας τύπος δεδομένων που ορίζεται από τον χρήστη και συνδυάζει πολλά πεδία διαφορετικών τύπων σε μια ενιαία οντότητα. Στο πλαίσιο του αντικειμενοστραφούς προγραμματισμού, η δομή λειτουργεί ως αντικείμενο, επιτρέποντας τον μοντελοποίηση πραγματικών οντοτήτων με τις ιδιότητές τους.

Αν και η Go δεν υποστηρίζει κλάσεις και κληρονομικότητα με τον κλασικό τρόπο, οι δομές επιτρέπουν:

  • Να εν encapsulate δεδομένα (πεδία).
  • Να ορίζουν μεθόδους για τις δομές, που διασφαλίζουν συμπεριφορά.
  • Να χρησιμοποιούν σύνθεση για επανάχρηση κώδικα αντί για κληρονομικότητα.

Παράδειγμα δομής με μέθοδο:

package main
import "fmt"

type Person struct {
    Name string
    Age  int
}

func (p Person) Greet() {
    fmt.Printf("Γειά σου, το όνομά μου είναι %s και είμαι %d ετών.\n", p.Name, p.Age)
}

func main() {
    person := Person{Name: "Ivan", Age: 30}
    person.Greet()
}

Έτσι, η δομή στη Go είναι ένα βασικό δομικό στοιχείο για τη δημιουργία αντικειμένων με κατάσταση και συμπεριφορά.