Ev gelişme Geçersiz kılma nedir? - techopedia nedir?

Geçersiz kılma nedir? - techopedia nedir?

İçindekiler:

Anonim

Tanım - Geçersiz kılma ne anlama geliyor?

C # 'da geçersiz kılma, temel sınıfta tanımlanan sanal üyeyi türetilmiş sınıftaki o üyenin tanımıyla değiştirmek için kullanılan bir anahtar kelimedir.

Geçersiz kılma değiştiricisi, programcıların türetilmiş sınıfta o üyenin yeni bir uygulamasını sağlamak için bir temel sınıftan devralınan mevcut bir sanal üyenin uzmanlığını belirtmelerine olanak tanır. Türetilmiş bir sınıfta değiştirilmesi veya genişletilmesi gereken bir yöntem, özellik, dizinleyici veya bir olayla kullanılabilir.

Geçersiz kılma değiştiricisinin, C # 'da polimorfizm kavramını uygulaması amaçlanmıştır.

Geçersiz kılma yeni değiştiricilerden farklıdır, çünkü birincisi yalnızca bir temel sınıfın sanal bir üyesini geçersiz kılmak için kullanılırken, ikincisi aynı zamanda temel sınıfta bulunan tanımı gizleyerek bir temel sınıfta tanımlanan sanal olmayan bir üyeyi geçersiz kılmaya yardımcı olur.

Techopedia, Geçersiz Kılmayı Açıklıyor

Geçersiz kılma, çoğunlukla, bir yöntem türünün yürütülmesinin, yöntemin çağrıldığı örneğin çalışma zamanı türü tarafından belirlendiği sanal yöntem bağlamında kullanılır. Çağırma sırasında, arayan kişinin çağrılan nesnenin türetilmiş bir sınıf örneği olduğunu bilmesine gerek yoktur.

Örneğin, Shape, sınıfındaki tüm nesneler için ortak olan temel uygulamayı sağlayan bir temel sınıfsa, sanal bir yöntem olan CalculateArea ile tanımlanabilir. Kare, bir karenin alanını hesaplamak için gerekli mantığı uygulamak için CalculateArea yöntemini geçersiz kılabilen Shape'den türetilen bir sınıf olabilir.

Türetilmiş bir sınıftaki bir yöntemi geçersiz kılmak için:

  • Temel sınıftaki yöntemin sanal değiştirici ile bildirilmesi gerekir.
  • Temel sınıftaki yöntem soyut olabilir, ancak statik olmayabilir.
  • Hem taban hem de türetilmiş sınıflardaki yöntemin erişim değiştiricisi aynı olmalıdır.
  • Yöntem hem türetilen hem de temel sınıflarda aynı imzayla tanımlanmalıdır.
Bu tanım C # bağlamında yazılmıştır.
Geçersiz kılma nedir? - techopedia nedir?