Visual Basic .NET'te kalıtım Inherits anahtar kelimesiyle gerçekleştirilir, bu da mevcut sınıflar temelinde yeni sınıflar oluşturmayı ve onların özelliklerini ve yöntemlerini miras almayı sağlar. Bu, kodu yeniden kullanmayı ve işlevselliği genişletmeyi sağlar, böylece tekrardan kaçınılır.
Kalıtım sırasında dikkat edilmesi gerekenler:
Protected anahtar kelimeleriyle işaretlemek veya yeniden tanımlanması gereken yöntemler için Overridable/Overrides kullanmak.MustInherit ve kalıtımı yasaklamak için NotInheritable anahtar kelimelerini kullanmak.Örnek:
' Soyut sınıf Public MustInherit Class Animal Public MustOverride Sub MakeSound() End Class ' Kalıtılan sınıf Public Class Dog Inherits Animal Public Overrides Sub MakeSound() Console.WriteLine("Woof!") End Sub End Class
Özellikler:
Implements anahtar kelimesiyle uygulanır.Visual Basic .NET'te bir sınıf aynı anda birden fazla sınıfı miras alabilir mi?
Yanlış cevap: Evet, virgülle (veya arayüzler aracılığıyla) mümkündür.
Doğru cevap: Hayır, Visual Basic .NET'te yalnızca tekil sınıf kalıtımı desteklenir, ancak birden fazla arayüz uygulanabilir.
Örnek:
Public Interface IRunnable Sub Run() End Interface Public Interface ISwimmable Sub Swim() End Interface Public Class Person Implements IRunnable, ISwimmable Public Sub Run() Implements IRunnable.Run ' Uygulama End Sub Public Sub Swim() Implements ISwimmable.Swim ' Uygulama End Sub End Class
Hikaye
Büyük bir muhasebe sisteminde bir mühendis, iki sınıfı (örneğin,EmployeeveManager) miras almaya çalıştı. Kod derlenmedi, bu da projeyi birkaç gün geciktirdi: yapıların yeniden gözden geçirilmesi ve işlevselliğin arayüzlere ayrılması gerekti.
Hikaye
Genç bir geliştirici, temel sınıfın yöntemleriniOverridableolarak işaretlemeyi unuttu, ancak bunları miras alan sınıfta yeniden tanımlamaya çalıştı. Derleme zamanı hataları meydana geldi ve bu durum ekipten hata ayıklama için zaman almasına neden oldu.
Hikaye
Bir projede, temel sınıftaki bir özellik yanlışlıkla halka açık bırakıldı ve miras alanlar tarafından hatalı bir şekilde değiştirildi, bu da kapsülleme ihlaline ve zor bulunan hataların ortaya çıkmasına sebep oldu.