2010-07-19 6 views

Antwort

41

nicht sicher, was Sie mit „Klassenkonstruktors“ bedeuten, aber ich würde annehmen, dass Sie einen von denen unten bedeuten.

Instanzkonstruktors:

Public Sub New() 

End Sub 

Gemeinschafts-Konstruktor:

Shared Sub New() 

End Sub 
+0

Klassenkonstruktor ist ein VB 6-Ausdruck für einen Instanzkonstruktor. Leider ist es auch ein OOP-Begriff für das, was Sie als Shared Constructor bezeichneten. –

+0

@ Jonathan: Danke, ich wusste, dass es ein zweideutiger Begriff war, aber ich war mir nicht sicher, was es wo bedeutete. Übrigens, Ihre Antwort ist etwas falsch, da ein "Shared" -Konstruktor nicht "Public" sein kann. –

+0

Uh, das bekomme ich, wenn ich zu schnell tippe. –

0

Es ist wichtig zu beachten, dass Sie nur Methoden von einer Instanz der Klasse aufrufen können, wenn es öffentlich ist. Wenn die Methode privat ist, können nur die Methoden derselben Klasse sie aufrufen.

2

Angenommen, Ihre Klasse heißt MyStudent. Hier ist, wie Sie Ihre Klasse Konstruktor definieren:

Public Class MyStudent 
    Public StudentId As Integer 

    'Here's the class constructor: 
    Public Sub New(newStudentId As Integer) 
     StudentId = newStudentId 
    End Sub 
End Class 

Hier ist, wie Sie es nennen:

Dim student As New MyStudent(studentId)

Natürlich Ihr Klassenkonstruktor können so viele oder so wenige Argumente enthalten, wie Sie brauchen - auch Keine, in diesem Fall lassen Sie die Klammern leer. Sie können auch mehrere Konstruktoren für dieselbe Klasse haben, alle mit verschiedenen Kombinationen von Argumenten. Diese werden als unterschiedliche "Signaturen" für Ihren Klassenkonstruktor bezeichnet.