Nesne Değişken Bildirimi (Visual Basic)
Bir nesne değişkeni bildirmek için normal declaration deyimi kullanın.Veri türünü belirtmeniz Object (yani, Nesne Veri Türü) veya nesne olduğu oluşturulması için daha özel bir sınıf.
Bir değişken olarak bildirmek Object olarak bildirmek aynı Object.
Belirli nesne sınıfı ile bir değişken bildirdiğinizde, tüm yöntemleri ve özellikleri, sınıf ve devraldığı sınıfları tarafından sergilenen erişebilirsiniz.ERRORLEVEL değişkeni bildirirseniz Object, sadece üyeleri erişebilir Object , bırakmadıkları sürece, sınıf Option Strict Off geç bağlama izin vermek için.
Bildirimi sözdizimi
Bir nesne değişkeni bildirmek için aşağıdaki sözdizimini kullanın:
Dim variablename As [New] { objectclass | Object }
You can also specify Public (Visual Basic), Korumalı (Visual Basic), Arkadaş (Visual Basic), Protected Friend, Özel (Visual Basic), Shared (Visual Basic), or Statik (Visual Basic) in the declaration.Aşağıdaki örnek bildirimler geçerlidir:
Private objA As Object
Static objB As System.Windows.Forms.Label
Dim objC As System.OperatingSystem
Late Binding ve erken bağlama
Bazen belirli sınıf kodunuzun çalıştırılıncaya kadar bilinmiyor.Bu durumda nesne değişkeni bildirmek Object veri türü.Bu herhangi bir nesne türünü genel bir başvuru oluşturur ve çalışma zamanında belirli sınıf atanır.Bu adı verilen geç bağlama.Late binding ek yürütme süresi gerektirir.Ayrıca, kodunuza yöntem ve özellikleri, en son atandığı sınıfının sınırlar.Kodunuzu farklı bir sınıfın üyeleri erişmeye çalışırsa bu çalışma zamanı hatalarına neden olabilir.
Derleme zamanında belirli sınıf bildiğinizde, bu sınıf için nesne değişkeni bildirmeniz gerekir.Bu adı verilen erken bağlama.Erken bağlama performansını artırır ve tüm yöntemleri ve özellikleri belirli bir sınıfın kodu erişiminizi garanti eder.Yukarıdaki örnek bildirimleri, değişken ise, objA sınıfın nesnelerini kullanan Label, belirtmeniz gerekir As System.Windows.Forms.Label bildiriminde bulunan.
Erken bağlama avantajları
Belirli bir sınıf olarak bir nesne değişkeni bildirmek birkaç avantaj sağlar:
Otomatik tür denetlemesi
Özel sınıf, tüm üyelerine erişim garanti
Microsoft IntelliSense desteği Code Editor içinde
Kodunuzu geliştirilmiş okunurluk
Kodunuzu daha az hataları
AT yakalandı hataları derleme zamanı yerine çalışma zamanı
Daha hızlı kod yürütme
Değişken üye nesne erişimi
Zaman Option Strict açık olduğundan On, bir nesne değişkeni yalnızca yöntemleri ve özellikleri ile bildirdiğiniz onu sınıfının erişebilirsiniz.Aşağıdaki örnek bunu göstermektedir.
' Option statements must precede all other source file lines.
Option Strict On
' Imports statement must precede all declarations in the source file.
Imports System.Windows.Forms
Public Sub accessMembers()
Dim p As Object
Dim q As System.Windows.Forms.Label
p = New System.Windows.Forms.Label
q = New System.Windows.Forms.Label
Dim j, k As Integer
' The following statement generates a compiler ERROR.
j = p.Left
' The following statement retrieves the left edge of the label in pixels.
k = q.Left
End Sub
Bu örnekte, p üyeleri Object kapsayan değil kendisini, sınıf Left özelliği.Diğer taraftan, q türünde bildirilmiş Label, yöntemlerini ve özelliklerini kullanabilmeniz için Label , sınıf System.Windows.Forms ad.
Nesne değişkenleri esneklik
Devralma hiyerarşisinde nesneleriyle çalışırken, hangi sınıfın nesne değişkenleri bildirmek için kullanılacak bir seçim yapabilirsiniz.Bu seçimi yaparken, sınıfın üyeleri için erişim nesne atamasının esneklik dengelenmelidir.Örneğin, müşteri adayları için kalýtým hiyerarþisi göz önünde Form sınıfı:
Uygulamanızın form adında bir sınıfı tanımlar varsayalım specialForm, sınıfından devralan Form.Özellikle çok başvuran bir nesne değişkeni bildirebilir specialForm, aşağıdaki örnekte gösterildiği gibi.
Public Class specialForm
Inherits System.Windows.Forms.Form
' Insert code defining methods and properties of specialForm.
End Class
Dim nextForm As New specialForm
Değişken bildiriminde önceki örnekte sınırlar nextForm sınıfının nesneleri için specialForm, ancak tüm yöntemleri ve özellikleri de yapar specialForm için kullanılabilir nextFormolarak tüm üyeleri, tüm sınıflar, iyi gibi specialForm devralır.
Daha genel bir nesne değişkeni türü olmasını bildirerek yapabilirsiniz Form, aşağıdaki örnekte gösterildiği gibi.
Dim anyForm As System.Windows.Forms.Form
Önceki örnekte bildirimi, uygulamanız için herhangi bir biçimde atamanıza olanak sağlar anyForm.Ancak, ancak anyForm sınıfının tüm üyeleri erişebilir Form, ek yöntemleri veya özellikleri gibi özel formlar için tanımlanan herhangi birini kullanamazsınız specialForm.
Tüm üyeleri, bir temel sınıf türetilmiş sınıfları için kullanılabilir, ancak ek türetilmiş bir sınıf üyesi temel sınıfa kullanılamaz.
Ayrıca bkz.
Görevler
Nasıl yapılır: Visual Basic'de Bir Nesne Değişkeni Bildirme ve bir Nesne Atama
Nasıl yapılır: Bir Nesnenin Üyelerine Erişme (Visual Basic)
Başvuru
Kavramlar
Visual Basic'de Nesne Değişkenleri
Nesne Değişkeni Ataması (Visual Basic)