İxtisas: 050616 - İNFORMASİYA TEXNOLOGİYALARI
Qrup: 510
Fənn: Proqramlaşdırma dilləri
Kafedra: İnformasiya texnologiyaları və texniki elmlər kafedrası
Sərbəst iş
C++ da miras, polimorfizm,enkapsulyasiya,dost funksiyalar və virtual funksiyalar
Tələbə: Səmayə Bədirova
Müəllim: t.ü.f.d., Babək Abbasov, dosent
Bakı – 2022
1.MİRAS
Bir sinfin başqa bir sinifdən xassələr və xüsusiyyətlər əldə etmək qabiliyyəti miras adlanır. Miras obyekt yönümlü proqramlaşdırmanın ən vacib xüsusiyyətlərindən biridir. Yəni bir sinifin bəzi xassələri digər siniflə eynidirsə, bu ortaq xassələr miras kimi istifadə edilir. Miras proqramın funksionallığını artırır, və proqramı bir qədər sürətləndirir. Biz bir sinif yaratdıqda digər siniflə eyni olan dəyişənləri və funksiyaları yenidən yazmaq əvəzinə, mövcud olan bir sinifdən miras ala bilərik. Bu həm kodların sayını azaldır, həm də bizi kodların qarışıqlıqından xilas edir. Başqa sinifdən xassələrini miras alan sinif törəmə sinif, və ya alt sinif adlanır. Xassələr alt sinif tərəfindən miras alınan sinifə isə təməl (əsas) sinif deyilir. Bir sinifdən çoxlu sayda miras almaq olur. Mirasın sintaksisi belədir:
Class altsinif : sinifin_tipi esassinif {
//alt sinifin dəyişənləri və funksiyaları
};
Burada altsinif miras alan sinifin adıdır. Digər esassinif isə dəyişənlərini və funksiyalarını miras verən sinifdir. İndi isə mirasa aid sadə nümunəyə baxaq:
#include
using namespace std;
class insan {
public:
string ad;
string soyad;
int yas;
};
class telebe : public insan {
public:
int qrup;
};
int main(){
insan i1;
i1.ad = "Lale";
i1.soyad = "Eliyeva" ;
i1.yas = 18 ;
cout << i1.ad << " " << i1.soyad << " " << i1.yas << endl;
telebe t1;
t1.ad = "Semaye" ;
t1.soyad = "Bedirova" ;
t1.yas = 17 ;
t1.qrup = 510 ;
cout << t1.ad << " " << t1.soyad << " " << t1.yas << " " << t1.qrup << endl;
}
Bu nümunədə əsas sinif insan sinifidir. Alt sinif isə telebe sinifidir. Telebe sinifi insan sinifindən public ad, soyad , yaş xüsusiyyətlərini miras alır. Yəni bu özəlliklərdən özü də istifadə edə bilir. Tələbə sinifində bu özəllikləri yenidən yazmaqa ehtiyac qalmır.
Miras əsas sinifdə public və protected kimi təyin olunan bütün funksiyalara və dəyişənlərə daxil ola və işləyə bilir. Lakin, Miras əsas sinifdə private kimi təyin olunan bütün funksiyalara və dəyişənlərə daxil ola bilmir, bu mümkün deyildir. Private olaraq təyin olunan dəyişənlər, yalnız təyin olunduqları siniflərdə istifadə oluna bilərlər.İndiyə qədər biz yalnız bir sinifdən miras alırdıq.Lakin alt sinif birdən çox əsas sinifdən miras ala bilər. Buna çoxlu miras deyilir.Bu zaman çoxlu əsas sinifləri bir-birindən vergül ilə ayırırlar.
Dostları ilə paylaş: |