ინკაფსულაცია (კომპიუტერული პროგრამირება)

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

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

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

ლიტერატურა რედაქტირება

  • რომან სამხარაძე, Visual C++/CLI.NET, სტუ.