Aşırı Yükleme ve Geçersiz Kılma Arasındaki Fark | Aşırı Yükleme vs Geçersiz Kılma
Yayınlanan: 2021-06-15İçindekiler
Tanıtım
Nesneye Yönelik Programlama, yazılım geliştirme sektörlerinde önemli bir rol oynamaktadır. Sınıf, nesne, polimorfizm, kalıtım, veri soyutlama, jenerik programlama ve istisnai işleme gibi bu tür programlama ile çeşitli kavramlar ilişkilendirilir.
Geliştiriciler, yöntem aşırı yüklemesi, yöntemi geçersiz kılma vb. gibi alt kavramları olan polimorfizm kavramını her zaman oldukça ilginç bulurlar. Bununla birlikte, polimorfizm kavramını daha iyi anlamak için aşırı yükleme ve geçersiz kılma arasındaki farkın anlaşılması gerekir.
Yöntem Aşırı Yüklemesi ve Yöntemi Geçersiz Kılma Arasındaki Fark
Yöntem aşırı yüklemesi ile yöntemi geçersiz kılma arasında pek çok fark vardır . Java'da yöntem aşırı yükleme ve geçersiz kılma arasındaki farkların listesi aşağıda verilmiştir:
Yöntem Aşırı Yükleme | Yöntem Geçersiz Kılma | |
1 | Yöntem, programın okunabilirliğini artırmak için kullanılır. | Yöntem, üst sınıf tarafından sağlanan yöntemin uygulanmasını sağlamak için kullanılır. |
2 | Bir sınıf içinde gerçekleştirilir | IS-A (kalıtım) ilişkisi olan iki sınıfta oluşur. Geçersiz kılma için taban ve bir alt sınıf gereklidir. |
3 | Yöntemler veya işlevler aynı ada ve farklı imzalara sahip olmalıdır. | Yöntemler veya işlevler aynı ada ve aynı imzalara sahip olmalıdır. |
4 | Bu yöntemde kullanılan parametreler farklı olmalıdır. | Yöntem geçersiz kılma durumunda aynı parametreler kullanılmalıdır. |
5 | Derleme zamanı polimorfizminin bir örneğidir. Aşırı yükleme yöntemi çağrısının tanımına bağlanması, derleme zamanında gerçekleşir. | Çalışma zamanı polimorfizminin bir örneğidir. Geçersiz kılınan yöntem çağrısının tanımına bağlanması, çalışma zamanında gerçekleşir. |
6 | Sadece dönüş tipi değiştirilerek metot aşırı yüklemesi yapılamaz. Dönüş türü farklı veya aynı olabilir. Ancak, parametreler farklı olmalıdır. | Yöntem geçersiz kılmadaki dönüş türü aynı veya kovaryant olabilir. |
7 | Statik yöntemlere yöntem aşırı yüklemesi uygulanabilir. Bu, bir sınıfın aynı ada sahip birden fazla statik yönteme sahip olabileceği anlamına gelir. | Yöntem geçersiz kılma, statik yöntemlere uygulanamaz. |
8 | Yöntem aşırı yüklemesi için statik bağlama kullanılıyor. | Yöntem geçersiz kılma için dinamik bağlama kullanılıyor. |
9 | Yöntem aşırı yüklemesi ile daha iyi performans sağlanır. | Yöntem aşırı yüklemesine kıyasla daha düşük performans. Bunun nedeni, geçersiz kılınan yöntemlerin bağlanmasının çalışma zamanında yapılmasıdır. |
10 | Özel ve nihai yöntemler aşırı yüklenebilir. Bir sınıf, aynı ada sahip birden fazla private/final metoduna sahip olabilir. | Özel ve nihai yöntemler geçersiz kılınamaz. Bir alt sınıf, temel sınıflarının özel/son yöntemlerini geçersiz kılamaz. |
11 | Yöntemin aşırı yüklenmesi durumunda kalıtım gerekli olabilir veya olmayabilir. | Yöntemin geçersiz kılınması durumunda kalıtım her zaman gereklidir. |
12 | Yöntemlerin davranışına daha fazla şey eklemek için kullanılır. | Mevcut yöntemlerin davranışını değiştirmek için kullanılır. |
13 | Metot aşırı yüklemesinde birden fazla sınıfın bulunmasına gerek yoktur. | Yöntem geçersiz kılmada her zaman en az iki sınıfa ihtiyaç vardır. |
14 | Aşırı yükleme bozulursa, derleme zamanı hatası gelir ve düzeltilmesi kolaydır. | Kırılmaları geçersiz kılmak, etki çalışma zamanında görüleceğinden programımızda ciddi sorunlara neden olabilir. |
15 | Yöntem aşırı yüklemesinin farklı bir imzası olmalıdır. | Geçersiz kılma yöntemi aynı imzaya sahip olmalıdır. |
16 | Aşırı yükleme yöntemindeki erişim değiştiricileri herhangi bir şey veya farklı olabilir. | Alt sınıf yönteminin erişim değiştiricisi, geçersiz kılma yöntemindeki üst sınıf yöntemi erişim değiştiricisiyle aynı veya daha yüksek olmalıdır. |
17 | Atılan istisnalar, yöntem aşırı yükleme kavramında herhangi bir şey olabilir. | Yöntem geçersiz kılmada, atılan denetlenmeyen istisnalar herhangi bir şey olabilir. Kontrol edilen istisnalar için, geçersiz kılma yöntemi, geçersiz kılınan yöntem tarafından bildirilenlerden daha yeni veya daha geniş istisnalar oluşturmamalıdır. |
18 | Derleyici, her zaman referans türüne göre yöntem çözümlemesi ile ilgilenir. | JVM, çalışma zamanı nesnesine dayalı olarak yöntem çözümlemesi ile ilgilenir. |
Dünyanın En İyi Üniversitelerinden Online Yazılım Kursları Öğrenin . Kariyerinizi hızlandırmak için Yönetici PG Programları, Gelişmiş Sertifika Programları veya Yüksek Lisans Programları kazanın.
Sıradaki ne?
Full-stack yazılım geliştirme hakkında daha fazla bilgi edinmek istiyorsanız, upGrad & IIIT-B'nin çalışan profesyoneller için tasarlanmış ve 500+ saatlik zorlu eğitim, 9+ proje ve Full-Stack Yazılım Geliştirmede Yönetici PG Programına göz atın. atamalar, IIIT-B Mezun statüsü, pratik uygulamalı bitirme projeleri ve en iyi firmalarla iş yardımı.
Çalışma zamanı polimorfizmi nedir?
Çalışma zamanı polimorfizmi, dinamik tiplemeyi içeren bir tür polimorfizmdir. Bu, nesnelerin tek bir tipmiş gibi manipüle edilebileceği anlamına gelir. Bu, nesnelerin, temel türlerine bakılmaksızın tek bir türe sahipmiş gibi manipüle edildiği statik polimorfizme benzer. Beş ana yazılım tasarım ilkesinden biridir. Nesne yönelimli programlama ile kullanılır. Bu, bir değişkenin çalışma süresi koşullarına bağlı olarak farklı nesnelere başvurabileceği anlamına gelir. Örneğin, değişken bildirildiğinde bir Dog nesnesine başvurmak için bir değişken kullanılabilir, ancak programın yürütülmesi sırasında değişken bir Cat nesnesine başvurabilir. Otomatik bir tür dönüştürmedir. Örneğin, bir i tamsayı değişkeniniz varsa ve buna bir dize değeri atarsanız, bu bir dize değişkeni olur.
Geçersiz kılmanın Aşırı Yüklemeden farkı nedir?
Aşırı yüklenmiş yöntemi geçersiz kılabilir miyiz?
Aşırı yüklenmiş bir yöntem, normal olanla aynıdır (parametrelerin sayısı ve türü açısından), ancak aşırı yüklenmiş yöntemin normalden farklı türde parametreleri kabul edebilecek şekilde yazılması farkıyla. Normal bir yöntemi geçersiz kıldığınız gibi aşırı yüklenmiş bir yöntemi geçersiz kılabilirsiniz.