Este foro usa cookies
Este foro utiliza cookies para almacenar su información de inicio de sesión si está registrado y su última visita si no lo está. Las cookies son pequeños documentos de texto almacenados en su computadora; las cookies establecidas por este foro solo se pueden usar en este sitio web y no representan ningún riesgo de seguridad. Las cookies en este foro también rastrean los temas específicos que ha leído y la última vez que los leyó. Si Ud. continúa navegando, entenderemos que acepta todas las cookies.

Se almacenará una cookie en su navegador, independientemente de la elección, para evitar que se le vuelva a hacer esta pregunta. Podrá cambiar la configuración de sus cookies en cualquier momento utilizando el enlace en el pie de página.

El foro antiguo se encuentra accesible desde https://foro.gambas-es.org en modo de solo lectura.

Calificación:
  • 0 voto(s) - 0 Media
  • 1
  • 2
  • 3
  • 4
  • 5

Modificadores de acceso
#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.
    ¡Gracias!
#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'
[-] Los siguientes 2 usuarios dicen gracias a jguardon por este post:
  • AntonioFS, Grandamakulo
    ¡Gracias!
#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.
    ¡Gracias!


Salto de foro:


Usuarios navegando en este tema: 1 invitado(s)