Aracılığıyla paylaş


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ı:

Object

    Component

      Control

        ScrollableControl

          ContainerControl

            Form

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

New İşleci (Visual Basic)

Option Strict Deyimi

Kavramlar

Visual Basic'de Nesne Değişkenleri

Nesne Değişkeni Ataması (Visual Basic)

Nesne Değişkeni Değerleri (Visual Basic)

Yerel Türü Arabirimi (Visual Basic Başvurusu)