ჭდე: ინკაფსულაცია

ინკაფსულაცია

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

ინკაფსულაცია

ახალი მონაცემთა ტიპის შექმნა სტრუქტურის გამოყენებით ინკაპსულაცია. კლასის ცნება კლასის მონაცემებზე წვდომა (private,  public). კლასის ობიექტი კონსტრუქტორი. კონსტრუქტორის გადატვირთვა დესტრუქტორი. კონსტრუქტორის და დესტრუქტორის გამოძახების დრო და რიგი ახალი მონაცემთა ტიპის შექმნა სტრუქტურის გამოყენებით C++-ში ახალი მონაცემთა ტიპის შექმნა შესაძლებელია სტრუქტურის საფუძველზე. შემდეგ მაგალითში მონაცემთა ტიპი Room იქმნება სტრუქტურის სახით, რომელიც შეიცავს ორ  height  და walls  ელემენტს. პროგრამაში შემოიღება Room ტიპის MyRoom ცვლადი. მის ველებს ენიჭებათ მნიშვნელობები, ხოლო  ფუნქცია  aboutRoom  ბეჭდავს ინფორმაციას ოთახის შესახებ. #include <iostream> using namespace std; struct Room{ float height; //  სიმაღლე int walls;    // კედლების რიცხვი }; void aboutRoom(Roo