Clases y módulos
Actualización: noviembre 2007
Tanto las clases como los módulos son tipos de referencia que encapsulan los elementos definidos en ellos, pero difieren en la forma en que se realiza el acceso a los elementos desde otros procedimientos.
Diferencias entre clases y módulos
La diferencia principal entre clases y módulos consiste en que pueden crearse instancias de clases como objetos pero no de módulos. Como sólo existe una copia de los datos de un módulo estándar, cuando una parte del programa cambia una variable pública en un módulo estándar, cualquier otra parte del programa obtendrá el mismo valor si lee luego esa variable. En comparación, los datos de objeto existen individualmente para cada objeto con instancias. Otra distinción es que, a diferencia de los módulos estándar, las clases pueden implementar interfaces.
Nota: |
---|
Cuando el modificador Shared se aplica a un miembro de clase, está asociado con la propia clase en lugar de con una instancia determinada de la clase. Se tiene acceso directo al miembro mediante el nombre de clase, de la misma manera que se tiene acceso a los miembros de módulos. Para obtener más información acerca de miembros compartidos, consulte Miembros compartidos en Visual Basic. |
Las clases y los módulos también emplean ámbitos diferentes para sus miembros. Los miembros definidos dentro de una clase tienen el ámbito de una instancia específica de la clase y sólo existen mientras dure el objeto. Para tener acceso a los miembros de clases desde el exterior de una clase, debe utilizar los nombres completos con el formato Objeto.Miembro.
Por otro lado, los miembros declarados dentro de un módulo son de manera predeterminada accesibles públicamente y se puede obtener acceso a ellos mediante cualquier código que tenga acceso al módulo. Esto significa que las variables en un módulo estándar son de hecho variables globales porque son visibles desde cualquier parte del proyecto y existen durante toda la vida útil del programa.
Vea también
Conceptos
Miembros compartidos en Visual Basic