Soy un novato en vb. Solo me gustaría saber cómo implementar el constructor de clase en este lenguaje.¿Cómo implementar el constructor de clase en Visual Basic?
Gracias de antemano ..
Soy un novato en vb. Solo me gustaría saber cómo implementar el constructor de clase en este lenguaje.¿Cómo implementar el constructor de clase en Visual Basic?
Gracias de antemano ..
No está seguro de lo que quiere decir con "constructor de la clase", pero me gustaría que te refieres a uno de los de abajo.
Instancia constructor:
Public Sub New()
End Sub
constructor compartido:
Shared Sub New()
End Sub
Si se refiere a VB 6, que sería Private Sub Class_Initialize()
.
http://msdn.microsoft.com/en-us/library/55yzhfb2(VS.80).aspx
Si se refiere a VB.NET es Public Sub New()
o Shared Sub New()
.
Es importante recordar que solo puede llamar a los métodos de una instancia de la clase cuando es pública. Si el método es Privado, solo los métodos dentro de la misma clase pueden llamarlo.
Supongamos que su clase se llama MyStudent. Así es como se define el constructor de la clase:
Public Class MyStudent
Public StudentId As Integer
'Here's the class constructor:
Public Sub New(newStudentId As Integer)
StudentId = newStudentId
End Sub
End Class
Así es como se llame:
Dim student As New MyStudent(studentId)
Por supuesto, el constructor de la clase puede contener tantos o tan pocos argumentos que necesite - incluso ninguno, en cuyo caso deja los paréntesis vacíos. También puede tener varios constructores para la misma clase, todos con diferentes combinaciones de argumentos. Estas se conocen como diferentes "firmas" para el constructor de su clase.
El constructor de clase es un término VB 6 para un constructor de instancia. Por desgracia, también es un término OOP para lo que llamas un constructor compartido. –
@Jonathan: Gracias, sabía que era un término ambiguo, pero no estaba seguro de qué significaba dónde. Por cierto, su respuesta es un poco incorrecta en el sentido de que un constructor 'Compartido' no puede ser' Public'. –
Uf, eso es lo que obtengo por escribir demasiado rápido. –