Tutorial: Definir clases (Visual Basic)
Este tutorial muestra cómo definir clases que se pueden utilizar luego para crear objetos. También muestra cómo agregar propiedades y métodos a las clases nuevas, e indica cómo inicializar un objeto.
Nota
Es posible que su equipo muestre nombres o ubicaciones diferentes para algunos de los elementos de la interfaz de usuario de Visual Studio incluidos en las instrucciones siguientes. La edición de Visual Studio que se tenga y la configuración que se utilice determinan estos elementos. Para obtener más información, vea Valores de configuración de Visual Studio.
Para definir una clase
Cree un proyecto haciendo clic en Nuevo proyecto en el menú Archivo. Aparecerá el cuadro de diálogo Nuevo proyecto.
Seleccione Aplicación para Windows de la lista de plantillas del proyecto de Visual Basic para mostrar el nuevo proyecto.
Agregue una clase nueva al proyecto haciendo clic en Agregar clase en el menú Proyecto. Aparecerá el cuadro de diálogo Agregar nuevo elemento.
Seleccione la plantilla Clase.
Asigne a la nueva clase el nombre UserNameInfo.vb y, a continuación, haga clic en Agregar para mostrar el código de la nueva clase.
Public Class UserNameInfo End Class
Nota
Puede utilizar el Editor de código de Visual Basic para agregar una clase al formulario de inicio escribiendo la palabra clave Class seguida del nombre de la clase nueva. El Editor de código proporciona la instrucción End Class correspondiente.
Defina un campo privado para la clase; para ello, agregue el siguiente código entre las instrucciones Class y End Class:
Private userNameValue As String
Declarar el campo como Private quiere decir que sólo se puede utilizar dentro de la clase. Se pueden utilizar modificadores de acceso más amplio, por ejemplo Public, para hacer que los campos estén disponibles desde fuera de la clase. Para obtener más información, vea Niveles de acceso en Visual Basic.
Defina una propiedad para la clase agregando el código siguiente:
Public Property UserName() As String Get ' Gets the property value. Return userNameValue End Get Set(ByVal Value As String) ' Sets the property value. userNameValue = Value End Set End Property
Defina un método para la clase agregando el código siguiente:
Public Sub Capitalize() ' Capitalize the value of the property. userNameValue = UCase(userNameValue) End Sub
Defina un constructor parametrizado para la clase nueva agregando un procedimiento denominado Sub New:
Public Sub New(ByVal UserName As String) ' Set the property value. Me.UserName = UserName End Sub
Cuando se crea un objeto basado en esta clase, se llama al constructor Sub New automáticamente. Este constructor establece el valor del campo que contiene el nombre de usuario.
Para crear un botón que pruebe la clase
Cambie el formulario de inicio al modo de diseño haciendo clic con el botón secundario del mouse en su nombre desde el Explorador de soluciones y, a continuación, haga clic en Diseñador de vistas. De forma predeterminada, el nombre que se asigna al formulario de inicio para los proyectos de aplicación para Windows es Form1.vb. Aparecerá el formulario principal.
Agregue un botón al formulario principal y haga doble clic en él para mostrar el código del controlador de eventos Button1_Click. Agregue el código siguiente para llamar al procedimiento de prueba:
' Create an instance of the class. Dim user As New UserNameInfo("Moore, Bobby") ' Capitalize the value of the property. user.Capitalize() ' Display the value of the property. MsgBox("The original UserName is: " & user.UserName) ' Change the value of the property. user.UserName = "Worden, Joe" ' Redisplay the value of the property. MsgBox("The new UserName is: " & user.UserName)
Para ejecutar la aplicación
Presione F5 para ejecutar la aplicación. Llame al procedimiento de prueba haciendo clic en el botón del formulario. Muestra un mensaje que indica que el UserName original es "MOORE, BOBBY", porque el procedimiento llamó al método Capitalize del objeto.
Haga clic en Aceptar para descartar el cuadro de mensaje. El procedimiento Button1 Click cambia el valor de la propiedad UserName y muestra un mensaje que indica que el nuevo valor de UserName es "Worden, Joe."
Vea también
Conceptos
Programación orientada a objetos (C# y Visual Basic)