• Martes 30 de Abril de 2024, 11:19

Autor Tema:  Acceso A Variables  (Leído 2772 veces)

alemag

  • Miembro MUY activo
  • ***
  • Mensajes: 180
    • Ver Perfil
Acceso A Variables
« en: Martes 23 de Enero de 2007, 18:22 »
0
Creo que lo mas logico es poner los datos miembro de una clase como privados, para que no se puedan modificar desde fuera, y si se quiere acceder a esos datos, se hace a través de un observador. Pues bien, tengo lo siguiente:

public class Ejemplo
{
  int a;
 
  public int get_entero()
  {
     return a;
  }
}

y desde otra clase pretendo acceder a ese dato entero con:
 ....
 Ejemplo ej=new Ejemplo();
 System.out.println(ej.get_entero());
 ...

y con el eclipse me dice que el dato entero a no es visible.
Pero supuestamente no estaria accediendo a ese dato a traves del observador, y éste es público ???

Por favor, ayudadme. Muchas gracias.

kike_monarcas

  • Miembro activo
  • **
  • Mensajes: 41
    • Ver Perfil
Re: Acceso A Variables
« Respuesta #1 en: Martes 23 de Enero de 2007, 23:14 »
0
Hola. Por default, todas las variables que no tengan ningún modificador de acceso son públicos, entonces, en tu programa no necesitas tener un método que acceda a la variable "a" a menos de que ésta sea privada. Saludos!

 :hola:

hano

  • Miembro activo
  • **
  • Mensajes: 87
    • Ver Perfil
Re: Acceso A Variables
« Respuesta #2 en: Miércoles 24 de Enero de 2007, 09:17 »
0
Hola:

Perdona que te corrija, pero por defecto, el modificador en Java es "default", accesible desde clases dentro del mismo paquete.

El código que muestras no debería dar ese error, por estás accediendo a "a" dentro de la misma clase y el método get_entero() es público.

¿Podrías aportar más información al respecto?

Un saludo

Luis Javier López Arredondo.
http://es.geocities.com/luisja80
http://hardprogrammer.blogspot.com
                                                                                               
Para programadores
http]
[url=https://hardprogrammer.blogspot.com]https]

alex7882

  • Nuevo Miembro
  • *
  • Mensajes: 3
    • Ver Perfil
Re: Acceso A Variables
« Respuesta #3 en: Martes 6 de Febrero de 2007, 20:38 »
0
Hola a todos. Llevo una temporada leyendo este foro pero nunca me habia animado a postear nada. A ver si voy cambiando eso. ;)
Hano, tenia entendido que la visibilidad por defecto era "protected" pero veo que estaba equivocado.¿Que diferencia hay entre "protected" y "default"?

aicrag

  • Miembro activo
  • **
  • Mensajes: 26
    • Ver Perfil
Re: Acceso A Variables
« Respuesta #4 en: Miércoles 7 de Febrero de 2007, 00:56 »
0
Buenas.

Hano tiene razón, cuando no se especifican un  modificador en java, el compilador toma un por defecto, "default" o "package" es igual, y es accesible solo por las clases del paquete al que pertenece la clase y si no se utiliza ningún paquete se utiliza el paquete por defecto que será el directorio en el que estén todas tus clases.

la diferencia principal entre protected y default es que protected es como una especie de hibrido entre public y private, funciona como public para todas las clases derivadas y como private para el resto de las clases.  B)
El sabio no es aquel que sabe donde esta el tesoro, sino el que trabaja y lo saca

silverfox

  • Miembro MUY activo
  • ***
  • Mensajes: 280
    • Ver Perfil
Re: Acceso A Variables
« Respuesta #5 en: Miércoles 7 de Febrero de 2007, 10:59 »
0
Hola...

Vamos a ver. No tiene nada que ver que la variable sea o no privada, pública o lo que quiera que sea, puesto que el método que usa para obtener el valor es público.

He probado el código que indicas por si me devolviese un error y no lo hace. Estoy usando el WSAD, basado en Eclipse, así que no creo que el fallo venga de ahí.

¿Puedes pasarnos algún código más específico para que veamos qué está pasando?


Muchas gracias.
Un saludo.



Silverfox

r589

  • Nuevo Miembro
  • *
  • Mensajes: 17
    • Ver Perfil
Re: Acceso A Variables
« Respuesta #6 en: Martes 27 de Febrero de 2007, 21:18 »
0
Ahi deberia funcionarte bien, coloca el codigo completo para mirar que esta pasando.

shadow_rev

  • Miembro MUY activo
  • ***
  • Mensajes: 397
  • Nacionalidad: co
  • Un SPARTAN no muere en combate
    • Ver Perfil
    • http://shadowrev.blogspot.com
Re: Acceso A Variables
« Respuesta #7 en: Miércoles 28 de Febrero de 2007, 02:15 »
0
Prueba esto:
Código: Text
  1. public class Ejemplo
  2. {
  3.     int a;
  4.     public int get_entero()
  5.     {
  6.         return this.a;
  7.     }
  8. }
  9.  
this.a hace referencia a la instancia de "a" de la clase.  Quien sabe, puede que funcione :whistling:
Volará quien le ponga alas a sus sueños (Candidate for goddess)
Si el mal existe en este mundo, reside en el corazón de la humanidad (Edward D. Morrison - Tales of Phantasia)
Lo único que puedes cambiar del pasado, es lo que sientes por él en el presente (Lockon Stratos - Mobile Suit Gundam 00)
Ingeniero de Sistemas