En VB.NET se puede implementar Clases de manera gráfica y también por líneas de código es recomendado esta última ya que usted podrá conocer todos los elementos que componen la clase.
Donde:
- NombreClase: aquí se especifica el nombre de la clase, debe tener en cuenta que no debe tener espacios en blanco ni usar caracteres especiales. Y finalmente un atributo, una función o procedimiento de clase no debe tener el mismo nombre de la clase.
- Visibilidad: la visibilidad dentro de la clase depende del alcance que usted como programador desea darle a un atributo, función o procedimiento; estas pueden ser: Públicas (Public), Privadas (Private) o Protegidas (Protected).
- Atributo: representa a un elemento de la clase normalmente los atributos de una clase son
privadas, pero como se mencionó antes esto dependerá del programador. Hay que tener en cuenta
que muchas veces los atributos guardan relación con los valores ingresados por el usuario. - GH Campo: un campo dentro de la clase representa las propiedades de un atributo. Este definirá las clausulas GET y SET de los campos. Como mencionamos anteriormente los atributos normalmente son privados por tanto las llamadas desde el exterior a dicho atributo se debe realizar desde una propiedad con asignación GET, eso quiere decir que GET devuelve el valor contenido en el atributo y SET asigna un valor al mismo.
- Get: la implementación de GET hace que un atributo sea visible desde el exterior de la clase y así misma.
- Set: la implementación de SET hace que el atributo de la clase pueda tener una asignación de valor.
- Function Nombre_Funcion: una función puede ser implementada dentro de una clase y puede usar los atributos declaradas en la misma para una tarea específica, hay que tener en cuenta que de usted dependerá si esta función sea pública o privada.
- Sub Nombre_Procedimiento: también se puede implementar un procedimiento dentro de la clase para una determinada tarea recuerde que el procedimiento no devuelve valores
Consideraciones Generales
Una instrucción Class define un nuevo tipo de datos. Una clase es un bloque de creación fundamental de la programación orientada a objetos (OOP).
Sólo se puede utilizar Class en el nivel de espacio de nombres o de módulo. Esto significa que el contexto de declaración para una clase debe ser un archivo de código fuente, espacio de nombres, clase, estructura, módulo o interfaz, y no puede ser un procedimiento o bloque.
Cada instancia de una clase tiene un período de duración independiente de todas las demás instancias. Este período de duración comienza cuando una cláusula New (Operador, Visual Basic) o una función como CreateObject crean la instancia. Finaliza cuando todas las variables que señalan a la instancia se han establecido como Nothing (Visual Basic) o como instancias de otras clases.
Las clases tienen el acceso Friend (Visual Basic) de forma predeterminada. Puede ajustar sus niveles de
acceso con los modificadores de acceso.
Reglas básicas de clase
- Anidación: se puede definir una clase dentro de otra. La clase exterior se denomina clase contenedora
y la clase interna se denomina clase anidada.
- Herencia: si la clase utiliza Inherits (Instrucción), sólo se puede especificar una clase base o interfaz.
Una clase no puede heredar de más de un elemento.
- Una clase no puede heredar de otra clase que tenga un nivel de acceso más restrictivo. Por ejemplo,
una clase Public no puede heredar de una clase Friend.
- Una clase no puede heredar de una clase anidada dentro de ella.
- Implementación: si la clase utiliza Implements (Instrucción), se debe implementar cada miembro
definido por cada interfaz que se especifique en interfacenames. Una excepción a esto es la reimplementación de un miembro de clase base.
- Propiedad Default: una clase puede especificar a lo sumo una propiedad como su propiedad
predeterminada.
Comportamiento de la clase
- Nivel de acceso: dentro de una clase, se puede declarar cada miembro con su propio nivel de acceso.
De forma predeterminada, los miembros de la clase tienen el acceso Public (Visual Basic), pero las
variables y constantes tienen el acceso Private (Visual Basic). Cuando una clase tiene un acceso más
restringido que uno de sus miembros, el nivel de acceso de la clase tiene prioridad.
- Ámbito: una clase está en ámbito a lo largo de todo el espacio de nombres, clase, estructura o módulo que la contiene.
- El ámbito de todos los miembros de la clase es la clase completa.
- Período de duración: Visual Basic no admite las clases estáticas. Un módulo proporciona el equivalente funcional de una clase estática.
- Los miembros de clase tienen duraciones que dependen de cómo y dónde se declaran.
- Calificación: el código que se encuentra fuera de una clase debe calificar el nombre de un miembro con el nombre de la clase.
- Si el código de una clase anidada hace una referencia no calificada a un elemento de Visual Basic busca el primer elemento en la clase anidada, después en su clase contenedora y así sucesivamente hasta llegar al elemento contenedor más externo.