Metod geçersiz kılma nedir?



Yöntem geçersiz kılma, bir kalıtım hiyerarşisinde nesne yönelimli programlamada kullanılır ve bir alt sınıfta tanımlanan bir yöntem bir alt sınıfta yeniden tanımlandığında oluşur. Genellikle, alt sınıf yöntemi, süper sınıfı yönteminden farklı bir şey yapar veya üst sınıfın yetenekleri üzerinde genişler, ancak durum böyle olmak zorunda değildir. Yöntemin geçersiz kılınması, yeniden tanımlanmış yöntemin içeriğinden bağımsız olarak bir alt sınıfta bir kredi kartı başvurusu World üst sınıf yöntemi yeniden tanımlandığında gerçekleşir. Yeniden tanımlanmış yöntem imzaları tam olarak aynı olmalıdır.
Örneğin, A sınıfı "doSomething" adlı bir yöntem içerebilir ve bu yöntemde giriş parametresi yoktur. Ayrıca, B ve C sınıfları sınıf A'nın alt sınıfları olabilir. B Sınıfı, girdi parametrelerini almayan "doSomething" adında bir yöntem içerebilir ve C sınıfı bir girdi parametresi olarak bir sayı alan bir "doSomething" yöntemi içerebilir. Onun "doSomething" yöntemi, üst sınıfında, A sınıfı C sınıfı "doSomething" yöntemi ile aynı yöntem imzası olduğu için bu örnekte, yalnızca B sınıfı, yöntem geçersiz kılma ortaya koyacağını, diğer taraftan, gösteren yöntem aşırı yüklenmesini yarattığı çünkü Tamamen yeni bir yöntem.
C ++ 'da sanal kalıtım , geçersiz kılma yönteminin başka bir örneğidir. Üst sınıflardaki sanal yöntemler uygulanabilir veya uygulanmayabilir, ancak bunların herhangi bir alt sınıfı tanımı, geçersiz kılma yönteminin bir örneğidir. Bir alt sınıfta bir yöntem geçersiz kılındığında, açıkça çağrılmadıkça üst sınıfın yöntemi çağrılmaz. Geçersiz bir yöntemin çağrılmasının bu özel yolunun, genellikle, süper-sınıf uygulamasının "gizlenmesi" söylenir.
Her ne kadar yöntemin geçersiz kılınması çok esnek olsa da, tüm yöntemler geçersiz kılınamaz ve bu rijitliğin tercih edilebileceği zamanlar vardır. Hem Java hem de C ++ uygulamasında, bir alt sınıfta bir yöntemin geçersiz kılınmasını önlemek için belirli anahtar kelimeler yöntem imzalarında uygulanabilir. Bunu yapmak için, Java "son" anahtar sözcüğünü kullanır ve C ++ "const" anahtar sözcüğünü kullanır. Belirli bir fonksiyonun bir kalıtım cepten kredi kartı başvurusu ağacı boyunca her zaman değişmemesi durumunda, yöntemin geçersiz kılınmasının önlenmesi faydalı olabilir.
Genel olarak, küçük veri parçaları alan basit yöntemlerin geçersiz kılınmasına gerek yoktur. Alt sınıfın çoğundan yararlanma eğilimi gösteren durumlar, bir alt sınıfın bunu yapmak için tamamen yeni bir yöntem oluşturmadan bir üst sınıf yöntemine işlevsellik eklemeyi amaçladığı zamandır. Bir yöntemin, belirli bir nesne türü için tamamen tekrarlanması gereken olağandışı durumlar da bu teknikten yararlanabilir. Bir yöntem geçersiz kılındığında, programcının süper sınıf ve alt sınıf yöntemlerini yeterli şekilde yorumlaması önemlidir . İdeal olarak, bu yorumlar, yöntemin her bir varyantının yanı sıra nasıl ve neden farklı olduklarını açıklığa kavuşturmalıdır.

Yorumlar

Bu blogdaki popüler yayınlar

Ultra Taşınabilirler nelerdir?

Durum Çubuğu nedir?

Uygulama Güvenlik Duvarı nedir?