Sobes.tech
Junior — Middle

Izskaidrojiet datu enkapsulācijas koncepciju objektorientētajā programmēšanā.

sobes.tech AI

Atbilde no AI

Iekapsulācija ir objektorientētas programmēšanas princips, kas ietver iekšējā stāvokļa slēpšanu un piekļuves nodrošināšanu tikai caur metodēm (interfeisiem).

Go valodā iekapsulācija tiek panākta ar identifikatoru redzamības principu:

  • Vārdi, kas sākas ar lielo burtu, tiek eksportēti un ir pieejami no citiem pakotnēm (publiski).
  • Vārdi, kas sākas ar mazo burtu, ir pieejami tikai pakotnes iekšienē (privāti).

Lai iekapsulētu datus, ir jādeklarē struktūras lauki ar mazo burtu un jānodrošina metodes šo lauku piekļuvei un modificēšanai.

Piemērs:

package user

type User struct {
    name string // privāts lauks
}

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
}

Šī pieeja ļauj kontrolēt piekļuvi datiem, nodrošināt to integritāti un mainīt iekšējo īstenojumu bez ietekmes uz ārējo kodu.