Hola Comunidad!.

Estoy viendo cosas de la POO en VB6 y convirtiéndolas a gambas.
Entre ellas estaba viendo la creación de una propiedad virtual.

En VB esta propiedad no esta declarada como tal en la clase.Si, su variable local.
Ahora no me acuerdo del nombre de estas.La que están ocultas. Propiedad.

Supongamos que quiero saber los días de alta de un cliente.Tendré la fecha de alta y luego hago la diferencia con
la fecha actual del sistema. Lo normal seria declarar la propiedad DiasdeAlta, pero parece que no es imprescindible.
Yo lo he hecho así en la clase Cliente:

:

PRIVATE mDiasAlta AS Integer
PRIVATE mAlta AS Date

PROPERTY Alta AS Date
PROPERTY READ DiasAlta AS Integer 'Debo de ponerla como solo lectura


PRIVATE FUNCTION DiasAlta_Read() AS Integer

mDiasAlta = DateDiff(ME.alta, Now, gb.day)
RETURN mDiasAlta

END


PRIVATE FUNCTION Alta_Read() AS Date
RETURN mAlta
END

PRIVATE SUB Alta_Write(Value AS Date)
mAlta = Value
END


Y en VB6 Hace esto:


Public Property Get DiasAlta() As Long
DiasAlta = DateDiff("d", Me.Alta, Date)
End Property



Naturalmente esa propiedad no esta declarada.Es un calculo interno en la propia clase Clientes.
El usuario solo tiene que meter la fecha de alta.

Parece lo mas parecido lo que he hecho. Pero he tenido que declárala aunque solo sea de lectura.

Saludos.