C++ Enkapsulatsiya. (Sinf/Class)

Assalomu alaykum bugungi darsimiz ma'lumotlar xavfsizligini ta'minlash haqida gaplashamiz. Ko'pchilik ma'lumotlarni foydalanuvchidan yashirish kerak bo'lib qoladi. Bunda bizda C++ dasturlash tilida bizga Enkapsulatsiya yordam beradi. Bu atama bo'yicha quyidagicha tushunchaga ega bo'lishiningiz mumkin.

Encapsulation(Enkapsulatsiya)- ning ma'nosi , "sezgir" ma'lumotlar foydalanuvchilardan yashirilganligiga ishonch hosil qilishdir. Bunga erishish uchun siz sinf o'zgaruvchilari / atributlarini e'lon qilishingiz kerak  private (sinf tashqarisidan kirish mumkin emas).

Enkapsulatsiya Uchun Maxsus.

#include <iostream>
using namespace std;
​
class Employee {
  private:
    int salary;
​
  public:
    void setSalary(int s) {
      salary = s;
    }
    int getSalary() {
      return salary;
    }
};
​
int main() {
  Employee myObj;
  myObj.setSalary(50000);
  cout << myObj.getSalary();
  return 0;
}
50000

Yuqoridagi misolni tushuntirish.

Kirish cheklangan salary o'zgaruvchi hisoblanadi chunki private deb e'lon qilingan.

Umumiy setSalary()usul ( s) parametrni oladi va uni atributga salary(ish haqi = s) tayinlaydi .

Umumiy getSalary()usul xususiy salaryatributning qiymatini qaytaradi .

Ichkarida main()biz Employeesinf ob'ektini yaratamiz . Endi biz setSalary()xususiy usulning qiymatini belgilash uchun usuldan foydalanishimiz mumkin 50000. Keyin biz getSalary()ob'ektni qiymatini qaytarish uchun usuli ya'ni funksiya hisoblanadi.

Nima uchun enkapsulatsiya?

  • Xavfsizlik uchun juda muhim. Yashirin ma'lumotlarni saqlash va undan foydalanuvchilarni cheklash.
  • Class ni ichida xavfsizlikga ega bo'lgan attributga biz murojaat qila olamiz.