C-də Overriding və Overloading Arasındakı Fərq

Mündəricat:

C-də Overriding və Overloading Arasındakı Fərq
C-də Overriding və Overloading Arasındakı Fərq

Video: C-də Overriding və Overloading Arasındakı Fərq

Video: C-də Overriding və Overloading Arasındakı Fərq
Video: Bir yük maşını ilə heç vaxt pul qazanmayacaqsınız. Niyə? ABŞ -da yük maşını işi haqqında əla video 2024, Iyul
Anonim

Əsas Fərq – C-da Həddindən artıq yükləmə və Qeyri-adiləşdirmə

C-da overriding və overloading arasında əsas fərq ondan ibarətdir ki, ləğv edilmiş metod çağırışının onun tərifinə bağlanması iş vaxtında baş verir, həddindən artıq yüklənmiş metod çağırışının isə onun tərifinə bağlanması kompilyasiya zamanı baş verir.

C Microsoft tərəfindən hazırlanmış ümumi təyinatlı proqramlaşdırma dilidir. C dilinin əsas üstünlüyü onun Obyekt yönümlü proqramlaşdırmanı (OOP) dəstəkləməsidir. OOP-nin bir sütunu Polimorfizmdir. O, bir obyektə çoxlu davranışlara sahib olmaq imkanı verir. Polimorfizmdə overriding və overloading kimi tanınan iki növ var. Bu məqalədə C-da metodun ləğvi və həddindən artıq yükləmə arasındakı fərq müzakirə olunur.

C-da Overriding nədir?

OOP-da başqa bir vacib anlayış var - miras. Artıq mövcud sinfin atributlarından və metodlarından istifadə etməkdir. Kodun təkrar istifadəsini yaxşılaşdırır. Artıq mövcud sinif əsas sinifdir və yeni sinif törəmə sinif kimi tanınır. Polimorfizmi ləğv edərkən əsas sinif və törəmə sinif olmalıdır. Üstündən təyin edilmiş metod çağırışının tərifə bağlanması iş vaxtında baş verir. Nümunə aşağıdakı kimidir.

C-da overriding və overloading arasındakı fərq
C-da overriding və overloading arasındakı fərq

Şəkil 01: Üstünlüklə C Proqramı

Yuxarıdakı proqrama əsasən Shape sinfi əsas sinifdir və o, nümayiş metodunu ehtiva edir. Class Rectangle və Triangle törəmə siniflərdir. Bu törəmə siniflər də öz tətbiqləri ilə eyni metod ekranına malikdir.

İlk olaraq obj istinad dəyişəni yaradılır. O, Shape obyektinə işarə edir. Beləliklə, Shape sinifinin göstərmə metodu yerinə yetiriləcək. Sonra istinad dəyişəni Rectangle obyektinə işarə edir. Beləliklə, Rectangle sinfinin göstərmə metodu yerinə yetiriləcək. Nəhayət, istinad dəyişəni Üçbucaq obyektinə işarə edir. Beləliklə, Triangle sinfinin ekran metodu yerinə yetiriləcək. Baza sinfinin göstərilməsi metodu törəmə siniflərin göstərmə metodları ilə ləğv edilib.

Çalışdırılma metodu iş vaxtında qərarlaşdırılır. Shape sinfi 'virtual' açar sözü ilə yazılmışdır. Rectangle və Triangle sinifləri “override” açar sözü ilə yazılır. Bu açar sözlər istifadə edilmədikdə, çıxış hamı üçün Shape sinifinin göstərmə metodunun məzmununu çap edəcək.

C-da Həddindən artıq yükləmə nədir?

Həddindən artıq yükləmə zamanı bir çox metod eyni ada malikdir, lakin fərqli parametrlərə malikdir. Parametrlər müxtəlif növ ola bilər. Metodların müxtəlif sayda parametrləri də ola bilər. Metodun həddindən artıq yüklənməsi eyni sinifdə baş verir. Həddindən artıq yüklənmiş metodların tərifə bağlanması kompilyasiya zamanı baş verir. Aşağıdakı C proqramına baxın.

C-da overriding və overloading arasındakı əsas fərq
C-da overriding və overloading arasındakı əsas fərq

Şəkil 02: Həddindən artıq yükləmə ilə C Proqramı

Yuxarıdakı proqrama əsasən, A sinfində cəmi adlanan eyni adlı iki metod var. Onların müxtəlif parametrləri var. Əsas proqramda A obyekti yaradılır. Cəmi (2, 3) tam ədədlərlə cəmi metodunu işə salacaq. Cəm (5.1, 7.94) ikiqat qiymətlərlə cəmi metodunu işə salacaq. Hər iki metod eyni ada və eyni sayda parametrə malikdir. Ancaq parametr növləri fərqlidir. Tələb olunan üsul müvafiq olaraq çağırılır. Həddindən artıq yükləmə metod adları və parametr növləri eyni olsa da, parametrlərin sayı fərqli olduqda baş verə bilər.

C-da Overriding və Overloading arasındakı oxşarlıq nədir?

C-da Həm Overriding, həm də Overloading polimorfizm növləridir

C-da Overriding və Overloading Arasındakı Fərq Nədir?

C-da Həddindən artıq yüklənmə və Qeyri-adiləşdirmə

C-da üstəlik əsas sinifdə artıq mövcud olan metod üçün törəmə sinif metodunda xüsusi tətbiqi təmin etməkdir. C-da həddən artıq yükləmə, fərqli tətbiqlərlə eyni adda birdən çox metod yaratmaqdır.
Parametrlər
C Overriding-də metodlar eyni ada, eyni parametr növlərinə və eyni sayda parametrlərə malikdir. C Overloading-də metodlar eyni ada, lakin müxtəlif sayda parametrlərə və ya fərqli parametrlərə malikdir.
Baş vermə
C-da əsas sinif və törəmə sinif daxilində üstünlük təşkil edir. C dilində həddindən artıq yükləmə eyni sinif daxilində baş verir.
Bağlama vaxtı
Davam edilmiş metod çağırışının onun tərifinə bağlanması icra zamanı baş verir. Həddindən artıq yüklənmiş metod çağırışının onun tərifinə bağlanması kompilyasiya zamanı baş verir.
Sinonimlər
Üst təyinetmə iş vaxtı polimorfizmi, dinamik polimorfizm və ya gec bağlanma adlanır. Həddindən artıq yükləmə kompilyasiya vaxtı polimorfizmi, statik polimorfizm və ya erkən bağlanma adlanır.

Xülasə – C-də Həddindən artıq yüklənmə ilə əvəzin təyin edilməsi

Yoxlama və Həddindən artıq yükləmə polimorfizmin iki növüdür. C-da overriding və overloading arasındakı fərq ondan ibarətdir ki, ləğv edilmiş metod çağırışının onun tərifinə bağlanması icra zamanı baş verir, həddindən artıq yüklənmiş metod çağırışının isə onun tərifinə bağlanması kompilyasiya zamanı baş verir.

Tövsiyə: