Qrup: 510 Fənn: Proqramlaşdırma dilləri Kafedra



Yüklə 139,8 Kb.
səhifə3/5
tarix17.05.2022
ölçüsü139,8 Kb.
#87234
1   2   3   4   5
proq serbest

3.ENKAPSULYASİYA

Enkapsulyasiyanın mənası bəzi “həssas” yəni qorunması lazım olan məlumatların istifadəçidən gizlədildiyinə əmin olmaqdır. Enkapsulyasiyanın real həyat nümunəsini nəzərdən keçirək, bir şirkətdə hesablar bölməsi, maliyyə bölməsi, satış bölməsi və s. kimi müxtəlif bölmələr var. Maliyyə bölməsi bütün maliyyə əməliyyatlarını idarə edir və maliyyə ilə bağlı bütün məlumatların qeydlərini aparır. Eynilə, satış bölməsi satışla bağlı bütün fəaliyyətləri idarə edir və bütün satışların qeydlərini aparır. İndi elə bir vəziyyət yarana bilər ki, nədənsə maliyyə şöbəsinin məmuruna müəyyən ayda satışlar haqqında bütün məlumatlar lazımdır. Bu halda onun satış bölməsinin məlumatlarına birbaşa daxil olmasına icazə verilmir. O, əvvəlcə satış bölməsindəki başqa bir məmurla əlaqə saxlamalı və sonra ondan xüsusi məlumatları verməsini tələb etməli olacaq. Enkapsulyasiya budur. Burada satış bölməsinin məlumatları və onları manipulyasiya edə bilən işçilər vahid “satış bölməsi” adı altında toplanır. Enskapsulyasiya da eyni ilə bu cür məlumatları gizlədir. C++ da enkapsulyasiya siniflərdə baş verir. Buna nail olmaq üçün sinif məlumatlarını, dəyişənlərini “private” elan etmək lazımdır. Çünki, sinifdən başqa yerdə bu məlumatlara daxil olmaq mümkün olmasın.Başqasının məlumatları əldə etməsini, dəyişdirməsini istəyirsinizsə bu zaman siz məlumatları və ya dəyişənləri “public” elan etməlisiniz. Private məlumatlara daxil olmaq üçün public “get” və “set” metodlarından istifadə olunur. Aşağıdakı nümunəyə nəzər salaq.

#include

using namespace std;

class Employee {

private: //burada private təyin edirik.

int salary;

public:


//set funksiyası təyin edirik

void setSalary(int s) {

if (s < 0)

{

cout << "SEHV" << endl;



}

else


salary = s;

}

// Get funksiyası təyin edirik



int getSalary() {

return salary;

}

};

int main() {



Employee e1;

e1.setSalary(1000);

cout << e1.getSalary();

return 0;

}

Biz burada set funksiyası ilə int main funksiyasından “salary” dəyişəninə qiymət mənimsətdik. Get funksiyası isə həmin qiyməti qaytardı. Həmçinin biz enkapsulyasiyadan istifadə edərək, başqaları tərəfindın yaranan səhvlərin qarşısını da ala bilərik. Məsələn: yuxarıda qed etdiyim nümunədə əyər başqası 0-dan kiçiy qiymət verərsə proqram dərhal səhv verəcək. Ümumiyyətlə enkapsulyasiya bizim proqramımızın təhlükəsizliyini təmin edir.




Yüklə 139,8 Kb.

Dostları ilə paylaş:
1   2   3   4   5




Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©genderi.org 2024
rəhbərliyinə müraciət

    Ana səhifə