C'de Geçersiz Kılma ve Aşırı Yükleme Arasındaki Fark

İçindekiler:

C'de Geçersiz Kılma ve Aşırı Yükleme Arasındaki Fark
C'de Geçersiz Kılma ve Aşırı Yükleme Arasındaki Fark

Video: C'de Geçersiz Kılma ve Aşırı Yükleme Arasındaki Fark

Video: C'de Geçersiz Kılma ve Aşırı Yükleme Arasındaki Fark
Video: Java Programlama 14 2024, Temmuz
Anonim

Anahtar Farkı – C'ta Geçersiz Kılma ve Aşırı Yükleme

C'ta geçersiz kılma ve aşırı yükleme arasındaki temel fark, geçersiz kılınan yöntem çağrısının tanımına bağlanmasının çalışma zamanında gerçekleşmesi, aşırı yüklenmiş yöntem çağrısının tanımına bağlanmasının ise derleme zamanında gerçekleşmesidir.

C, Microsoft tarafından geliştirilen genel amaçlı bir programlama dilidir. C'ın ana avantajı, Nesne Yönelimli Programlamayı (OOP) desteklemesidir. OOP'nin bir ayağı Polimorfizmdir. Bir nesneye birden fazla davranışa sahip olmasını sağlar. Polimorfizmde geçersiz kılma ve aşırı yükleme olarak bilinen iki tür vardır. Bu makalede, C'ta yöntem geçersiz kılma ve aşırı yükleme arasındaki fark anlatılmaktadır.

C'ta Geçersiz Kılan Nedir?

OOP'de bir diğer önemli kavram ise kalıtımdır. Zaten var olan sınıfın özniteliklerini ve yöntemlerini kullanmaktır. Kodun yeniden kullanılabilirliğini artırır. Halihazırda var olan sınıf, temel sınıftır ve yeni sınıf, türetilmiş sınıf olarak bilinir. Polimorfizmin geçersiz kılınmasında, bir temel sınıf ve bir türetilmiş sınıf olmalıdır. Geçersiz kılınan yöntem çağrısının tanıma bağlanması, çalışma zamanında gerçekleşir. Bir örnek aşağıdaki gibidir.

C'da Geçersiz Kılma ve Aşırı Yükleme Arasındaki Fark
C'da Geçersiz Kılma ve Aşırı Yükleme Arasındaki Fark

Şekil 01: Geçersiz Kılan C Programı

Yukarıdaki programa göre, Shape sınıfı temel sınıftır ve görüntüleme yöntemini içerir. Class Rectangle ve Triangle türetilmiş sınıflardır. Bu türetilmiş sınıflar da kendi uygulamalarıyla aynı yöntem gösterimine sahiptir.

Önce, referans değişkeni obj oluşturulur. Shape nesnesine işaret eder. Böylece Shape sınıfının görüntüleme yöntemi çalışacaktır. Ardından, başvuru değişkeni Rectangle nesnesine işaret eder. Böylece, Rectangle sınıfının görüntüleme yöntemi yürütülecektir. Son olarak, referans değişkeni Triangle nesnesine işaret eder. Böylece, Triangle sınıfının görüntüleme yöntemi yürütülecektir. Temel sınıf görüntüleme yöntemi, türetilmiş sınıfların görüntüleme yöntemleri tarafından geçersiz kılınır.

Çalıştırılacak yönteme çalışma zamanında karar verilir. Shape sınıfı, 'sanal' anahtar kelime ile yazılmıştır. Rectangle ve Triangle sınıfları 'override' anahtar kelimesi ile yazılır. Bu anahtar sözcükler kullanılmazsa, çıktı, tümü için Shape sınıfının görüntüleme yönteminin içeriğini yazdırır.

C'ta Aşırı Yükleme Nedir?

Aşırı yüklemede, birden çok yöntem aynı ada ancak farklı parametrelere sahiptir. Parametreler farklı tiplerde olabilir. Yöntemler ayrıca farklı sayıda parametreye sahip olabilir. Yöntem aşırı yüklemesi aynı sınıfta gerçekleşir. Tanıma aşırı yüklenmiş yöntemlerin bağlanması, derleme zamanında gerçekleşir. Aşağıdaki C programına bakın.

C'da Geçersiz Kılma ve Aşırı Yükleme Arasındaki Temel Fark
C'da Geçersiz Kılma ve Aşırı Yükleme Arasındaki Temel Fark

Şekil 02: Aşırı Yüklemeli C Programı

Yukarıdaki programa göre A sınıfının aynı ada sahip toplam adı verilen iki yöntemi vardır. Farklı türde parametrelere sahiptirler. Ana programda, bir A nesnesi oluşturulur. Toplam (2, 3), tamsayılarla toplam yöntemini çağıracaktır. Toplam (5.1, 7.94), toplam yöntemini çift değerlerle çağıracaktır. Her iki yöntem de aynı ada ve aynı sayıda parametreye sahiptir. Ancak parametre türleri farklıdır. Gerekli yöntem buna göre çağrılır. Aşırı yükleme, yöntem adları ve parametre türleri aynıysa ancak parametre sayısı farklıysa da oluşabilir.

C'ta Geçersiz Kılma ve Aşırı Yükleme Arasındaki Benzerlik Nedir?

C'ta Hem Geçersiz Kılma hem de Aşırı Yükleme, polimorfizm türleridir

C'ta Geçersiz Kılma ve Aşırı Yükleme Arasındaki Fark Nedir?

C'ta Geçersiz Kılma vs Aşırı Yükleme

C'ta geçersiz kılma, temel sınıfta zaten var olan bir yöntem için türetilmiş bir sınıf yönteminde belirli bir uygulama sağlamaktır. C'ta aşırı yükleme, farklı uygulamalarla aynı ada sahip birden çok yöntem oluşturmaktır.
Parametreler
C Geçersiz Kılma'da yöntemler aynı ada, aynı parametre tiplerine ve aynı sayıda parametreye sahiptir. C Aşırı Yüklemede, yöntemler aynı ada ancak farklı sayıda parametreye veya farklı türde parametrelere sahiptir.
Olay
C'ta, temel sınıf ve türetilmiş sınıf içinde geçersiz kılma gerçekleşir. C'ta aşırı yükleme aynı sınıf içinde gerçekleşir.
Bağlama Süresi
Geçersiz kılınan yöntem çağrısının tanımına bağlanması çalışma zamanında gerçekleşir. Aşırı yüklenmiş yöntem çağrısının tanımına bağlanması derleme zamanında gerçekleşir.
Eş anlamlılar
Geçersiz kılma, çalışma zamanı polimorfizmi, dinamik polimorfizm veya geç bağlama olarak adlandırılır. Aşırı yükleme, derleme zamanı polimorfizmi, statik polimorfizm veya erken bağlama olarak adlandırılır.

Özet – C'ta Geçersiz Kılma vs Aşırı Yükleme

Overriding ve Overloading iki tür polimorfizmdir. C'da geçersiz kılma ve aşırı yükleme arasındaki fark, geçersiz kılınan yöntem çağrısının tanımına bağlanmasının çalışma zamanında gerçekleşmesi, aşırı yüklenmiş yöntem çağrısının tanımına bağlanmasının ise derleme zamanında gerçekleşmesidir.

Önerilen: