Módulos de Clase

27/01/2004 - 12:25 por manuel | Informe spam
Un saludo al foro.
Intento aprender el manejo de módulos de clases dentro de Excel.
Entiendo los procedimientos Property Get y Property Let. La ayuda de Excel
con el Property Set no me resulta suficientemente aclaratoria. Y tampoco sé
como establecer operaciones entre elementos de la clase.

Para ello he pensado que será fácil el ejemplo sobre vectores 2x2, definidos
por un par de componentes (x, y).
Defino un módulo de clase que llamo R2Vector
Dentro del módulo defino las componentes x, y como private y double.
También defino el módulo cuadrado como md2 = x*x+y*y
Después creo los procedimientos Property Get y Property Let que establecen y
sacan sus valores.

En un módulo general defino un vector 2x2 mediante
Dim Punto as new R2Vector

Punto.x = 5
Punto.y = 6

y con un msgbox presento la propiedad Punto.md2
Hasta aquí todo bien.

*** Ahora, cómo he de actuar para definir la suma de Puntos, como ( x = x1 +
x2 , y = y1 + y2 )
y poder escribir PuntoResultado = Punto1 + Punto2

*** Además, cómo he de hacer para que cada vez que necesite definir un
vector, no tenga que utilizar el ...as new ...
o bien Dim ... as R2Vector para después escribir Set ... = new

*** Cómo ejemplificar en este ejemplo de clase el uso de un procedimiento
Property Set

Por último, dónde recabar más información sobre el uso de módulos de clase?


Gracias de antemano.
Saludos,
Manuel.
 

Leer las respuestas

#1 Manuel Romero
27/01/2004 - 16:08 | Informe spam
*** Ahora, cómo he de actuar para definir la suma de Puntos, como ( x
= x1 + x2 , y = y1 + y2 )
y poder escribir PuntoResultado = Punto1 + Punto2




Eso no es posible porque VB no admite sobrecarga de operadores

*** Además, cómo he de hacer para que cada vez que necesite definir un
vector, no tenga que utilizar el ...as new ...
o bien Dim ... as R2Vector para después escribir Set ... = new



De hecho puedes hacerlo de ambas maneras, no es obligatorio usar el New en
las declaraciones

*** Cómo ejemplificar en este ejemplo de clase el uso de un
procedimiento Property Set



Los Property Set se utilizan cuando la propiedad a utilizar es un objeto, y
reemplazan a los Property Let. Es decir, si la propiedad es un R2Vector o
una coleccion o cualquier otro objeto de Excel o tuyo, debes utilizar la
pareja Property Set con Property Get

Dicho de otro modo, si la propiedad se debe asignar con Set (porque es un
objeto) usa el Property Set

Por último, dónde recabar más información sobre el uso de módulos de
clase?



Busca en la pagina del "Guille"
http://www.elguille.info/vb/VB_CLS.HTM

Preguntas similares