Yöntem Aşırı Yüklemesi ve Geçersiz Kılma Arasındaki Fark

Yöntem Aşırı Yükleme

İşlev aşırı yüklemesi veya Derleme zamanı polimorfizmi olarak da bilinen yöntem aşırı yüklemesi, aynı adda ancak aynı kapsamda farklı imzaya sahip iki veya daha fazla yönteme sahip bir kavramdır. Bu özelliği destekleyen birçok programlama dili vardır: Ada, C ++, C #, D ve Java.

C # yöntem aşırı yükleme örneği
Yukarıdaki örnekte gösterildiği gibi, 'Poligon' yöntemi farklı yöntem imzasıyla 3 kez aşırı yüklenmiştir, yani parametrelerin türü veya sayısı farklıdır.

Yöntem Geçersiz Kılma

İşlev geçersiz kılma veya Çalışma zamanı polimorfizmi olarak da bilinen yöntem geçersiz kılma, bir alt sınıfın, ana sınıfta tanımlanan yönteme kendi uygulamasını sağlamasına izin veren bir OOP özelliğidir. Alt sınıftaki uygulama, alt sınıftaki yöntemin aynı ad, imza ve dönüş türüne sahip olması koşuluyla, temel sınıftaki yöntemin tanımını geçersiz kılar.

C # yöntem geçersiz kılma örneği
Burada, Source2 sınıfındaki draw yöntemi Source1 sınıfında tanımlanan draw yöntemini geçersiz kılar.

Yöntem Aşırı Yüklemesi ile Yöntem Geçersiz Kılma Arasındaki Fark

  1. Yöntemde aşırı yükleme yöntemlerinin farklı bir imzası olmalıdır. Yöntemde, geçersiz kılma yöntemlerinin aynı imzası olması gerekir.
  2. İşlev Aşırı yükleme, yöntemin davranışına daha fazla “eklemek” veya “genişletmek” tir. İşlev geçersiz kılma, bir yöntemin davranışını tamamen "değiştirmek" veya "yeniden tanımlamaktır".
  3. Derleme zamanı polimorfizmi elde etmek için yöntem aşırı yükleme kullanılır; çalışma zamanı polimorfizmi elde etmek için yöntem geçersiz kılma kullanılır.
  4. Metot / fonksiyonda aşırı yükleyici derleyici, derleme sırasında hangi sınıfa atanan nesneyi bilir, ancak yöntemde bu bilginin geçersiz kılınması çalışma zamanına kadar bilinmemektedir..
  5. İşlev Aşırı Yüklemesi aynı sınıfta, Geçersiz Kılma ise temel sınıftan türetilmiş bir sınıfta gerçekleşir.
O