Sobes.tech
Junior — Middle

Erklären Sie das Konzept der Datenkapselung in der objektorientierten Programmierung.

sobes.tech KI

Antwort von AI

Kapselung ist ein Prinzip der objektorientierten Programmierung, das darin besteht, den inneren Zustand eines Objekts zu verbergen und den Zugriff darauf nur über Methoden (Schnittstellen) zu ermöglichen.

In Go wird die Kapselung durch die Sichtbarkeit der Bezeichner erreicht:

  • Namen, die mit einem Großbuchstaben beginnen, werden exportiert und sind aus anderen Paketen zugänglich (öffentlich).
  • Namen, die mit einem Kleinbuchstaben beginnen, sind nur innerhalb des Pakets zugänglich (privat).

Um Daten zu kapseln, sollten die Felder der Struktur mit einem Kleinbuchstaben deklariert werden, und es sollten Methoden bereitgestellt werden, um auf diese Felder zuzugreifen und sie zu ändern.

Beispiel:

package user

type User struct {
    name string // privates Feld
}

func NewUser(name string) *User {
    return &User{name: name}
}

func (u *User) GetName() string {
    return u.name
}

func (u *User) SetName(name string) {
    u.name = name
}

Dieser Ansatz ermöglicht es, den Zugriff auf die Daten zu kontrollieren, ihre Integrität zu gewährleisten und die interne Implementierung zu ändern, ohne den externen Code zu beeinflussen.