Obyekt Yönümlü Proqramlaşdırma
OOP, Obyekt yönümlü Proqramlaşdırma deməkdir.
Prosedur proqramlaşdırması verilənlər üzərində əməliyyatları yerinə yetirən prosedurların və ya funksiyaların yazılması, obyekt yönümlü proqramlaşdırma isə həm verilənləri, həm də funksiyaları ehtiva edən obyektlərin yaradılmasıdır.
Obyekt yönümlü proqramlaşdırmanın prosedur proqramlaşdırma ilə müqayisədə bir sıra üstünlükləri var:
OOP daha sürətli və icra etmək asandır
OOP proqramlar üçün aydın struktur təmin edir
OOP C++ kodunu DRY "Özünüzü Təkrar Etməyin" saxlamağa kömək edir və kodun saxlanmasını, dəyişdirilməsini və sazlanmasını asanlaşdırır.
OOP daha az kod və daha qısa inkişaf müddəti ilə tam təkrar istifadə edilə bilən proqramlar yaratmağa imkan verir
Proqramlaşdırmaya əvvəlki yanaşmalar o qədər də yaxşı deyildi və bir sıra məhdudiyyətlər də var idi. Prosedur yönümlü proqramlaşdırmada olduğu kimi, proqramda kodu yenidən istifadə edə bilməzsiniz və qlobal məlumat əldə etmək problemi var idi və yanaşma real dünya problemlərini çox yaxşı həll edə bilmədi.
Obyekt yönümlü proqramlaşdırmada, siniflərin və obyektlərin köməyi ilə kodu saxlamaq asandır. Vərəsəlikdən istifadə edərək kodun təkrar istifadəsi mümkündür, yəni eyni kodu təkrar-təkrar yazmağa ehtiyac yoxdur, bu da proqramın sadəliyini artırır. İnkapsulyasiya və abstraksiya kimi anlayışlar məlumatların gizlədilməsini də təmin edir.
OOP-ların tikinti blokları kimi çıxış edən bəzi əsas anlayışlar var.
Obyekt halı və davranışı olan bir varlıq kimi müəyyən edilə bilər və ya başqa sözlə, dünyada fiziki olaraq mövcud olan hər şey obyekt adlanır.Obyekt daha sonra varlığı təmsil edən verilənlər və proqramların birləşməsi deməkdir. Siniflərin və obyektlərin üstünlüklərinə aşağıdakılar daxildir:
İnkapsulyasiya: Siniflər verilənləri və əlaqəli funksiyaları vahid vahidə daxil etməyə imkan verir, məlumatların gizlədilməsini təmin edir və birbaşa girişin qarşısını alır. Obyektlər siniflərin nümunələrini təmsil edir,
modul və mütəşəkkil kod strukturunu təmin edir.
Yenidən istifadə oluna bilənlik: Siniflər eyni quruluşa və davranışa malik çoxsaylı obyektlərin yaradılmasına imkan verməklə kodun təkrar istifadəsini asanlaşdırır. Bu, tətbiqlərin səmərəli inkişafına və saxlanmasına kömək edir.
Modulluq: Siniflər əlaqəli məlumatları və funksiyaları birlikdə qruplaşdırmaqla proqramlaşdırmaya modul yanaşma təmin edir. Bu, kodun təşkilini, oxunaqlılığını və başa düşülməsini artırır.
Sinif obyektin planı kimi müəyyən edilə bilər. Əsasən tikinti blokları kimi çıxış edən obyektlərin toplusudur.
Sinif məlumat üzvləri (dəyişənlər) və üzv funksiyaları ehtiva edir. Bu üzv funksiyaları sinif daxilində məlumat üzvlərini manipulyasiya etmək üçün istifadə olunur.
Abstraksiya
Abstraksiya məlumatların gizlədilməsi prosesində kömək edir. İstifadəçiyə təfərrüatları və ya funksionallığı göstərmədən əsas xüsusiyyətləri göstərməyə kömək edir.
O, lazımsız məlumatlardan və ya uyğun olmayan detallardan qaçır və yalnız istifadəçinin görmək istədiyi xüsusi hissəni göstərir.
İnkapsulyasiya
Verilənlərin və funksiyaların vahid vahiddə yığılması inkapsulyasiya adlanır. Bu məlumat üzvlərinə daxil olmaq üçün məlumat üzvlərinin əhatə dairəsini özəl və üzv funksiyasının əhatə dairəsini ictimai etməklə əldə etmək olar. İnkapsulyasiya məlumatları xarici dünyaya əlçatmaz edir.
Vərəsəlik
İ ki sinfin bir-biri arasında is-əlaqəsinə malik olduğu və bir sinfin obyektlərinin digər sinfin xüsusiyyətlərini və xüsusiyyətlərini əldə etdiyi prosesdir. Xüsusiyyətləri miras alan sinif uşaq sinif, xüsusiyyətlərini miras aldığı sinif isə ana sinif adlanır. Misal üçün, Class Vehicle valideyn sinifidir, Class Avtobus, Avtomobil və Tır uşaq sinifləridir.
Polimorfizm
Polimorfizm bir çox forma deməkdir. Birdən çox forma götürmə qabiliyyətidir. Bu funksiya və ya operatoru birdən çox təriflə təmin edən xüsusiyyətdir. O, funksiyaların həddən artıq yüklənməsi, operatorun həddən artıq yüklənməsi, funksiyanın ləğvi və virtual funksiyalardan istifadə etməklə həyata keçirilə bilər.
Əvvəlki bölmədə qeyd etdiyimiz kimi; Varislik bizə atributları və metodları başqa sinifdən miras almağa imkan verir. Polimorfizm müxtəlif vəzifələri yerinə yetirmək üçün bu üsullardan istifadə edir. Bu, bir hərəkəti müxtəlif yollarla yerinə yetirməyə imkan verir.
Məsələn, AnimalSound() adlı metodu olan Animal adlı əsas sinfi düşünün.
Heyvanların törəmə sinifləri Donuzlar, Pişiklər, İtlər, Quşlar ola bilər - Və onların da öz heyvan səsi var (donuz iynələri, pişik miyovları və s.):