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
Yorum Gönder