Gölgeleme ve Geçersiz Kılma Arasındaki Farklar (Visual Basic)
Temel sınıfından devralan bir sınıf tanımladığınızda, bazen bir veya daha fazlasını türetilen sınıfta temel sınıf öğeleri tanımlamak istediğiniz.Gölgeleme ve geçersiz kılma ikisi de bu amaçla'dır.
Karşılaştırma
Gölgeleme ve geçersiz kılma hem türetilmiş bir sınıf bir temel sınıftan kalıtımla alan ve her ikisi de bir başka bir bildirilen öðeyi tanımlayın, kullanılır.Ancak ikisi arasında önemli farklar vardır.
Aşağıdaki tabloda, geçersiz kılma ile gölgeleme karşılaştırır.
Karşılaştırma noktası |
Gölgeleme |
Geçersiz kılma |
Purpose |
Türetilmiş bir sınıf içerisinde daha önceden tanımlamış olduğunuz bir üyesini tanıtır izleyen bir temel sınıf değişikliği karşı korur |
Çok biçimlilik, yordam veya özellik aynı arama sırası ile farklı bir uygulamasını tanımlayarak erişir1 |
Yeniden tanımlanan öğe |
Herhangi bir öğe türü olarak bildirilen |
Yalnızca bir yordam (Function, Sub, veya Operator) veya özellik |
Öğeyi yeniden tanımlama |
Herhangi bir öğe türü olarak bildirilen |
Yalnızca bir yordam veya özelliği özdeş arama sırası ile1 |
Erişim düzeyi öğesi yeniden tanımlama |
Herhangi bir erişim düzeyi |
Geçersiz kılınmış öğesinin erişim düzeyini değiştiremezsiniz |
Okunabilirlik ve öğesi tanımlayarak, writability |
Herhangi bir birleşimi |
Okunabilirlik veya geçersiz kılınmış özellik writability değiştiremezsiniz |
Yeniden tanımlama üzerinden kontrol |
Temel sınıf öğesi zorlamanıza veya gölgeleme yasakla |
Temel sınıf öğesi belirtebilirsiniz MustOverride, NotOverridable, veyaOverridable |
Anahtar sözcük kullanımı |
Shadowstüretilmiş bir sınıf içerisinde önerilir; Shadowsikisi de kabul Shadows ne de Overrides belirtilen2 |
Overridableveya MustOverride taban sınıfta gerekli Overridestüretilmiş bir sınıf içerisinde gerekli |
Öğe, türetilmiş sınıftan türeyen sınıflar tarafından yeniden tanımlama, devralma |
Öğe gölgeleme devralınan sınıfları;'daha ileri türetilmiş Gölgeli öğe hala gizli3 |
Öğe geçersiz kılma devralınan sınıfları;'daha ileri türetilmiş geçersiz kılınmış öğe hala geçersiz kılındı |
1Arama sırası öğesi türünü içerir (Function, Sub, Operator, veya Property), adı, parametre listesi ve dönüş türü.Bir özellik veya başka bir şekilde geçici bir yordam kılamaz.Yordam, bir çeşit kılamaz (Function, Sub, veya Operator) ile başka bir tür.
2 Ya da belirtmezseniz, Shadows veya Overrides, derleyici kullanmak istediğiniz şemadaki hangi tür emin olmanıza yardımcı olmak için bir uyarı iletisi verir.Uyarıyı göz ardı ederseniz, gölgeleme mekanizması kullanılır.
3 Gölgeleme öğe daha ileri türetilmiş bir sınıfta erişilemiyorsa, gölgeleme değil devralınır.Örneğin, gölgeleme öğesi olarak bildirmek Private, özgün öğe gölgeleme öğe yerine, türetilmiş sınıftan türetilen bir sınıfı devralır.
Yönergeleri
Normal olarak, aşağıdaki durumlarda geçersiz kılma kullanın:
Polimorfik türetilmiş sınıfları tanımlıyorsanız.
Aynı öğe türü ve arama sırası zorla derleyici kalmadan emniyet istediğiniz.
Normalde, gölgeleme aşağıdaki durumlarda kullanın:
Sınıfınızın temel değişiklik olabilir ve sizin gibi aynı adı kullanarak bir öðeyi tanýmlamak beklenir.
İstediğiniz öğe türünü değiştirme veya arama sırası özgürlüğü.
Ayrıca bkz.
Görevler
Nasıl yapılır: Değişkeninizle Aynı Adı Taşıyan Bir Değişkeni Gizleme (Visual Basic)
Nasıl yapılır: Devralınmış Değişkeni Gizleme (Visual Basic)
Nasıl yapılır: Türetilmiş Sınıf Tarafından Gizlenen Bir Değişkene Erişme (Visual Basic)
Başvuru
Geçersiz Kılmalar (Visual Basic)