Sobes.tech
Junior — Middle

Nesne yönelimli programlamada veri kapsülleme kavramını açıklayın.

sobes.tech yapay zeka

AI'dan gelen yanıt

Kapsülleme, nesne yönelimli programlamanın bir ilkesidir ve bir nesnenin iç durumunun gizlenmesini ve yalnızca metodlar (arayüz) aracılığıyla erişilmesini sağlar.

Go dilinde, kapsülleme, tanımlayıcıların görünürlüğü kullanılarak sağlanır:

  • Büyük harfle başlayan isimler dışa aktarılır ve diğer paketlerden erişilebilir (kamu).
  • Küçük harfle başlayan isimler sadece paket içinde erişilebilir (özel).

Bu nedenle, verileri kapsüllemek için, yapı alanlarını küçük harfle ilan etmek ve bu alanlara erişim ve değiştirme metodları sağlamak gerekir.

Örnek:

package user

type User struct {
    name string // özel alan
}

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
}

Bu yaklaşım, verilere erişimi kontrol etmeye, bütünlüklerini sağlamaya ve iç uygulamayı değiştirmeye olanak tanır, dış kodu etkilemeden.