Sobes.tech
Junior — Middle

შეგიძლიათ ახსნათ ინკაპსულაციის პრინციპი და როგორ ხორციელდება ობიექტზე ორიენტირებულ პროგრამირებაში?

sobes.tech AI

პასუხი AI-სგან

კაპსულაცია — ეს ობიექტზე ორიენტირებული პროგრამირების პრინციპია, რომელიც გულისხმობს ობიექტის შიდა რეალიზაციის დამალვას და მონაცემებსა და მეთოდებზე წვდომის მხოლოდ განსაზღვრული ინტერფეისის მეშვეობით უზრუნველყოფას.

ეს საშუალებას აძლევს:

  • მონაცემების დაცვას არასწორი გამოყენებისგან
  • რეალიზაციის სირთულის დამალვას
  • ობიექტის მდგომარეობის ცვლილებაზე კონტროლის უზრუნველყოფას

OOP ენებში, კაპსულაცია რეალიზებულია წვდომის მოდიფიკატორების (მაგ., private, protected, public) გამოყენებით, რომლებიც განსაზღვრავენ, რომელი ველები და მეთოდები არის ხელმისაწვდომი გარედან.

მაგალითი Go ენაში (სადაც კაპსულაცია მიღწეულია ექსპორტირებული და არექსპორტირებული იდენტიფიკატორების მეშვეობით):

type User struct {
    name string // არექსპორტირებული ველი, ხელმისაწვდომია მხოლოდ პაკეტში
}

func (u *User) GetName() string {
    return u.name // საჯარო მეთოდი სახელის მისაღებად
}

func (u *User) SetName(newName string) {
    if newName != "" {
        u.name = newName
    }
}

აქ, ველი name დამალულია გარე წვდომისგან, და მისი ინტერაქცია ხდება GetName და SetName მეთოდების მეშვეობით, რომლებიც აკონტროლებენ წვდომის და ცვლილების ლოგიკას.