Junior — Middle
Magyarázza el az adatok kapszulázásának fogalmát az objektumorientált programozásban.
sobes.tech MI
Válasz az MI-től
A kapszulázás az objektumorientált programozás egyik alapelve, amely magában foglalja az objektum belső állapotának elrejtését, és csak metódusokon (interfészek) keresztül való hozzáférést.
Go nyelvben a kapszulázás azonosítók láthatóságával érhető el:
- Nagybetűvel kezdődő nevek exportálódnak és más csomagokból elérhetők (nyilvánosak).
- Kisbetűvel kezdődő nevek csak a csomagon belül érhetők el (privátok).
Ezért az adatok kapszulázásához a struktúra mezőit kisbetűvel kell deklarálni, és metódusokat kell biztosítani ezekhez való hozzáféréshez és módosításhoz.
Példa:
package user
type User struct {
name string // privát mező
}
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
}
Ez a megközelítés lehetővé teszi az adatokhoz való hozzáférés kontrollját, azok integritásának biztosítását, és a belső implementáció módosítását anélkül, hogy a külső kódot befolyásolná.