Əsas Fərq – OOP-da Polimorfizm və Miras
Obyekt yönümlü Proqramlaşdırma (OOP) adətən proqram təminatının hazırlanması üçün istifadə olunur. Bir çox proqramlaşdırma dilləri obyekt yönümlü proqramlaşdırmanı dəstəkləyir. Obyekt yönümlü proqramlaşdırma, siniflərdən və obyektlərdən istifadə edərək bir proqram tərtib etmək üçün bir metodologiyadır. OOP-da sinif obyekt yaratmaq üçün plandır. Sinfin xüsusiyyətləri və metodları var. Obyekt sinifin bir nümunəsidir. OOP miras, polimorfizm, abstraksiya və inkapsulyasiya kimi dörd sütundan ibarətdir. Bu məqalə OOP-da Polimorfizm və Miras arasındakı fərqdən bəhs edir. OOP-də Polimorfizm və İrsiyyət arasındakı əsas fərq ondan ibarətdir ki, Polimorfizm bir obyektin müxtəlif yollarla davranma qabiliyyətidir və İrsiyyət mövcud sinfin xüsusiyyətləri və metodlarından istifadə edərək yeni bir sinif yaratmaqdır.
OOP-da Polimorfizm nədir?
Polimorfizm çoxlu formaları göstərməkdir. Bir obyektin bir neçə davranışı ola bilər. Polimorfizmi iki kateqoriyaya bölmək olar. Onlar həddən artıq yüklənir və əvəzlənir.
Həddindən artıq yükləmə
Java-da yazılmış aşağıdakı proqrama baxın.
Şəkil 01: Həddindən artıq yükləmə
Yuxarıda göstərilən proqrama uyğun olaraq A tipli obyekt yaradılır. obj.sum(); sum() metodu ilə əlaqəli çıxışı verəcəkdir. obj.sum (2, 3) çağırarkən; sum (int a, int b) ilə əlaqəli çıxışı verəcəkdir. Eyni obyektin vəziyyətdən asılı olaraq fərqli davranışlara sahib olduğu müşahidə edilə bilər. Eyni ada malik, lakin fərqli parametrlərə malik bir neçə metod olduqda, bu, həddindən artıq yükləmə kimi tanınır. O, həmçinin statik bağlama və ya tərtib vaxtı polimorfizmi kimi tanınır.
Qaydalanma
Polimorfizmin başqa bir növü üstünlük təşkil edir. Java-da yazılmış aşağıdakı proqrama baxın.
Şəkil 02: Üstünlük
Yuxarıda göstərilən proqrama əsasən, A sinfində displey() metodu var. B sinfi A sinfindən yayılır. Buna görə də, A sinfində olan bütün metodlar B sinfi tərəfindən əlçatandır. O, mirasdır. Vərəsəlik konsepsiyası daha sonra təsvir ediləcək.
Class B də eyni metod ekranına malikdir(). A tipli obyekt yaradarkən və displey metodunu çağırarkən çıxış B-ni verəcək. A sinfinin göstərmə metodu B sinfinin göstərmə metodu ilə ləğv edilir. Beləliklə, çıxış B-dir.
Eyni ada və eyni parametrlərə malik, lakin iki fərqli sinifdə olan metodlar olduqda və onlar irsiyyətlə əlaqələndirildikdə, bu, üstün təyinetmə kimi tanınır. O, həmçinin gec bağlama, dinamik bağlama, icra zamanı polimorfizmi kimi tanınır. Həddindən artıq yükləmə və üstələmə Polimorfizm adlanır. O, Obyekt yönümlü proqramlaşdırmada əsas konsepsiyadır.
OOP-da Miras nədir?
Java-da yazılmış aşağıdakı proqrama baxın.
Şəkil 03: Miras nümunəsi
Yuxarıdakı proqrama əsasən, A sinfində sum() metodu və B sinfində sub() metodu var.
A sinfinin sum() metodu B sinfində genişləndirmə açar sözündən istifadə etməklə istifadə edilə bilər. Yeni sinif yaratmaq üçün mövcud sinifdəki xassələrdən və metodlardan təkrar istifadə Varislik kimi tanınır. Hətta B sinfində sum() metodu yoxdur; o, A sinfindən miras alınmışdır. Vərəsəlik kodun təkrar istifadəsi üçün faydalıdır. Köhnə sinif əsas sinif, super sinif və ya ana sinif adlanır. Alınan sinif alt sinif və ya uşaq sinif adlanır.
Vərəs növləri
Müxtəlif miras növləri var. Bunlar Tək Səviyyəli Varislik, Çox Səviyyəli Vərəsəlik, Çox Səviyyəli Vərəsəlik, İerarxik İrsilik və Hibrid İrsiyyətdir.
Tək miras
Tək Varislikdə bir super sinif və bir alt sinif var. Əgər A sinfi super sinif, B sinfi isə alt sinifdirsə, A sinfinin bütün xüsusiyyətləri və metodları B sinfi tərəfindən əldə edilə bilər. Yalnız bir səviyyə var; buna görə də o, tək səviyyəli miras adlanır.
Çox Səviyyəli Miras
Çox Səviyyəli Mirasda üç səviyyəli sinif var. Orta sinif super sinifdən miras qalır. Alt sinif ara sinifdən miras qalır. A, B və C kimi üç sinif varsa və A super sinif, B isə ara sinifdir. Sonra B A-dan, C isə B-dən miras alır, Çox Səviyyəli Mirasdır.
Çoxlu Miras
Birdən çox varislikdə çoxlu super siniflər və bir alt sinif var. Əgər A, B, C və D adlanan üç super sinif varsa, o zaman D sinfi A, B və C-dən miras ala bilər. Çoxlu varislik C++ proqramlaşdırma dilində dəstəklənir. Java və ya C kimi proqramlaşdırma dillərində dəstəklənmir. İnterfeyslər bu dillərdə Çoxlu Mirasın həyata keçirilməsi üçün istifadə olunur.
İyerarxik Miras
Əgər super siniflər kimi A adlanan siniflər, B, C isə alt siniflərdirsə, həmin alt siniflər A sinifinin xassələrini və üsullarını miras ala bilər. Bu növ irsiyyət İerarxik İrsiyyət kimi tanınır.
Hibrid Miras
Hibrid Miras kimi tanınan başqa bir xüsusi miras növü var. Çoxsəviyyəli və çoxlu mirasın birləşməsidir. Əgər A, B, C və D siniflərdirsə və B A-dan miras alırsa və D həm B və C-dən miras qalırsa, o, Hibrid mirasdır.
OOP-da Polimorfizm və İrsilik Arasındakı oxşarlıqlar nələrdir?
Hər ikisi Obyekt yönümlü proqramlaşdırma anlayışıdır
OOP-da Polimorfizm və İrsilik Arasındakı Fərq Nədir?
OOP-də Polimorfizm və Miras |
|
Polimorfizm obyektin bir neçə yolla davranma qabiliyyətidir. | Vərəslik, mövcud sinfin xüsusiyyətləri və metodlarından istifadə edərək yeni sinif yaratmaqdır. |
İstifadə | |
Polimorfizm, tərtib zamanı və icra müddətində obyektlərin hansı formada metodları çağırması üçün istifadə olunur. | Vərəslik kodu təkrar istifadə üçün istifadə olunur. |
İcra | |
Polimorfizm üsullarda həyata keçirilir. | Vərəslik siniflərdə həyata keçirilir. |
Kateqoriyalar | |
Polimorfizm həddən artıq yüklənməyə və ləğv etməyə bölünə bilər. | Vərəslik birsəviyyəli, çoxsəviyyəli, iyerarxik, hibrid və çoxlu varisliyə bölünə bilər. |
Xülasə – OOP-da Polimorfizmə qarşı Miras
Polimorfizm və Varislik Obyekt yönümlü proqramlaşdırmada əsas anlayışlardır. OOP-da Polimorfizm və İrsiyyət arasındakı fərq ondan ibarətdir ki, Polimorfizm çoxsaylı formalar üçün ümumi interfeysdir və İrsiyyət mövcud sinfin xüsusiyyətləri və metodlarından istifadə edərək yeni bir sinif yaratmaqdır. Hər iki konsepsiya proqram təminatının hazırlanmasında geniş istifadə olunur.
PDF Polimorfizminə qarşı OOP-da Mirasiyyəti endirin
Bu məqalənin PDF versiyasını yükləyə və sitat qeydinə əsasən onu oflayn məqsədlər üçün istifadə edə bilərsiniz. Zəhmət olmasa PDF versiyasını buradan yükləyin OOP-da Polimorfizm və Miras Arasındakı Fərq