AntonioFS   28-11-2021, 13:43
#1
Muy buenas. 

En las funciones de lectura y escritura (setters/getters en Java, más o menos), ¿por qué se les aplica PRIVATE? He tenido que inventarme un recurso en la misma clase para cuando son llamadas desde otras o desde otros módulos, poder trabajar con ese sistema de la POO.

Muchas gracias.
Cordiales saludos.

Antonio F.S.
jguardon   28-11-2021, 14:28
#2
Hola Antonio

En realidad podrías declararlas como Public. Pero el motivo es otro: lo que ocurre es que seguramente hayas visto una implementación de Propiedades, que aunque básicamente es lo mismo, hace variar un poco la sintaxis.

Cuando declaramos una propiedad, ha de ser pública y puede ser de Lectura/Escritura o de sólo Lectura. En otros lenguajes sería setter/getter o solo getter, para que lo entiendas. Entonces las funciones _Read() y _Write(arg) asociadas a la propiedad deben de ser privadas por temas de encapsulamiento y en caso necesario harían uso de variables locales privadas para acceder a los datos que setean o que obtienen.

Entonces, en lugar de usar las funciones directamente, usarías la propiedad como si fuera una variable para obtener o establecer el dato.

Está muy bien explicado en la página de ayuda de gambas:

http://gambaswiki.org/wiki/lang/propdecl?l=es

en inglés está algo más completa:

http://gambaswiki.org/wiki/lang/propdecl

Por si te surge la duda de por qué usa el signo $ delante de la variable sName, es sólo una cuestión de estilo o convención sintáctica para denotar que una variable es Local o Privada, sin ningún efecto en el resultado.

https://gambaswiki.org/wiki/doc/naming

Saludos

Por favor, usa el corrector ortográfico antes de pulsar el botón 'Enviar'
AntonioFS   28-11-2021, 16:02
#3
Hola de nuevo.

Estupenda explicación jguardon. Me dispongo a investigar todo su contenido de la misma. :-)

Muchas gracias.
Cordiales saludos.

Antonio F.S.
  
Usuarios navegando en este tema: 2 invitado(s)
Powered By MyBB, © 2002-2024 MyBB Group.
Made with by Curves UI.