Foros del Web » Programación para mayores de 30 ;) » Java »

difeencia real entre conceptos de visibilidad y encapsulamiento

Estas en el tema de difeencia real entre conceptos de visibilidad y encapsulamiento en el foro de Java en Foros del Web. muchos dicen que no es lo mismo y la definen así 1-ocultación o concepto de visibilidad hace referencia de ponerles atributos privados ejemplo privado nombre ...
  #1 (permalink)  
Antiguo 16/03/2014, 03:21
Avatar de jor_0203  
Fecha de Ingreso: octubre-2011
Ubicación: mexico
Mensajes: 760
Antigüedad: 12 años, 5 meses
Puntos: 8
difeencia real entre conceptos de visibilidad y encapsulamiento

muchos dicen que no es lo mismo y la definen así
1-ocultación o concepto de visibilidad hace referencia de ponerles atributos privados ejemplo privado nombre
2-encapsulamiento NADIE DEBE CONOCER ESTOS MÉTODOS YA QUE SON INTERNOS ejemplo privado meterDatos()

pero no entiendo, si yo tengo un atributo y le pongo privado esto lo hace que le pongamos el concepto de visibilidad, pero cuando le ponemos el concepto privado a un metodo es encapsulamiento

no me queda muy claro este concepto
  #2 (permalink)  
Antiguo 16/03/2014, 06:46
Avatar de farfamorA  
Fecha de Ingreso: noviembre-2010
Ubicación: Lima
Mensajes: 136
Antigüedad: 13 años, 4 meses
Puntos: 24
Respuesta: difeencia real entre conceptos de visibilidad y encapsulamiento

Creo que debes revisar tus definiciones.
El encapsulamiento también es conocido como ocultación. ¿Por qué?
Porque oculta al usuario externo de la clase varios métodos y atributos que sólo son de uso interno de esa clase y que no son necesarios de acceder ni modificar desde fuera para el correcto uso de la misma (esos métodos y atributos están limitados en su visibilidad, es decir son privados).
El ejemplo clásico es un electrodoméstico. Un electrodoméstico implementa la encapsulación porque pone a disposición del usuario sólo los botones necesarios para su uso (encender, subir potencia, abrir compuerta, etc), mientras que otras funcionalidades que tiene el electrodoméstico quedan ocultas porque sólo son para su funcionamiento interno y el usuario final no debe acceder a ellas (funcionalidades privadas).

En otras palabras, el encapsulamiento permite cambiar la visibilidad de atributos y métodos para que sólo queden accesibles al usuario de esa clase los métodos y atributos necesarios para su uso (meterDatos() por ejemplo), quedando ocultos los métodos y atributos que son de funcionalidad interna (validarDatosIngresados() podría ser un método privado que es llamado dentro de meterDatos() para realizar la validación).

Te recomiendo esta lectura:
http://www.ingeniartes.com/programac...macion-OO-java
  #3 (permalink)  
Antiguo 18/03/2014, 02:37
Avatar de jor_0203  
Fecha de Ingreso: octubre-2011
Ubicación: mexico
Mensajes: 760
Antigüedad: 12 años, 5 meses
Puntos: 8
Respuesta: difeencia real entre conceptos de visibilidad y encapsulamiento

Cita:
Iniciado por farfamorA Ver Mensaje
Creo que debes revisar tus definiciones.
El encapsulamiento también es conocido como ocultación. ¿Por qué?
Porque oculta al usuario externo de la clase varios métodos y atributos que sólo son de uso interno de esa clase y que no son necesarios de acceder ni modificar desde fuera para el correcto uso de la misma (esos métodos y atributos están limitados en su visibilidad, es decir son privados).
El ejemplo clásico es un electrodoméstico. Un electrodoméstico implementa la encapsulación porque pone a disposición del usuario sólo los botones necesarios para su uso (encender, subir potencia, abrir compuerta, etc), mientras que otras funcionalidades que tiene el electrodoméstico quedan ocultas porque sólo son para su funcionamiento interno y el usuario final no debe acceder a ellas (funcionalidades privadas).

En otras palabras, el encapsulamiento permite cambiar la visibilidad de atributos y métodos para que sólo queden accesibles al usuario de esa clase los métodos y atributos necesarios para su uso (meterDatos() por ejemplo), quedando ocultos los métodos y atributos que son de funcionalidad interna (validarDatosIngresados() podría ser un método privado que es llamado dentro de meterDatos() para realizar la validación).

Te recomiendo esta lectura:
http://www.ingeniartes.com/programac...macion-OO-java
tienes razon mas bien cual es la diferencia entre visivilidad y encapsulacion
  #4 (permalink)  
Antiguo 18/03/2014, 02:38
Avatar de jor_0203  
Fecha de Ingreso: octubre-2011
Ubicación: mexico
Mensajes: 760
Antigüedad: 12 años, 5 meses
Puntos: 8
Respuesta: difeencia real entre conceptos de visibilidad y encapsulamiento

repito la pregunta
muchos dicen que no es lo mismo y la definen así
1- visibilidad hace referencia de ponerles atributos privados ejemplo privado nombre
2-encapsulamiento NADIE DEBE CONOCER ESTOS MÉTODOS YA QUE SON INTERNOS ejemplo privado meterDatos()

pero no entiendo, si yo tengo un atributo y le pongo privado esto lo hace que le pongamos el concepto de visibilidad, pero cuando le ponemos el concepto privado a un metodo es encapsulamiento

no me queda muy claro este concepto
  #5 (permalink)  
Antiguo 18/03/2014, 02:42
Avatar de rgf1987  
Fecha de Ingreso: diciembre-2012
Ubicación: Asturias
Mensajes: 269
Antigüedad: 11 años, 3 meses
Puntos: 22
Respuesta: difeencia real entre conceptos de visibilidad y encapsulamiento

http://ticodificando.com/2013/08/03/...capsulamiento/
  #6 (permalink)  
Antiguo 18/03/2014, 12:09
Avatar de jor_0203  
Fecha de Ingreso: octubre-2011
Ubicación: mexico
Mensajes: 760
Antigüedad: 12 años, 5 meses
Puntos: 8
Respuesta: difeencia real entre conceptos de visibilidad y encapsulamiento

lo estoy leyendo mil gracias
  #7 (permalink)  
Antiguo 18/03/2014, 14:37
Avatar de farfamorA  
Fecha de Ingreso: noviembre-2010
Ubicación: Lima
Mensajes: 136
Antigüedad: 13 años, 4 meses
Puntos: 24
Respuesta: difeencia real entre conceptos de visibilidad y encapsulamiento

Cita:
Iniciado por jor_0203 Ver Mensaje
repito la pregunta
muchos dicen que no es lo mismo y la definen así
1- visibilidad hace referencia de ponerles atributos privados ejemplo privado nombre
2-encapsulamiento NADIE DEBE CONOCER ESTOS MÉTODOS YA QUE SON INTERNOS ejemplo privado meterDatos()

pero no entiendo, si yo tengo un atributo y le pongo privado esto lo hace que le pongamos el concepto de visibilidad, pero cuando le ponemos el concepto privado a un metodo es encapsulamiento

no me queda muy claro este concepto
1- visibilidad hace referencia de ponerles atributos privados ejemplo privado nombre Es correcto.
2-encapsulamiento NADIE DEBE CONOCER ESTOS MÉTODOS YA QUE SON INTERNOS ejemplo privado meterDatos() También es correcto.

Esas definiciones no son contradictorias.
Debes empezar por entender algo:
El concepto del encapsulamiento hace uso del concepto de la visibilidad para lograr su objetivo.

Y te respondo con tu mismo ejemplo:
Si tienes un atributo que has declarado como privado, así sin más, entonces estás usando el concepto de visibilidad. Si un método lo declaras como privado, también estás usando el concepto de visibilidad. El concepto de visibilidad se aplica tanto a atributos, métodos y clases.

Ahora, si tú tienes varios métodos y atruibutos en tu clase, pero sólo deseas que desde fuera sólo se pueda acceder a un método, entonces aquí entra en acción el concepto de encapsulamiento valiéndose del concepto de visibilidad: se declararán como privados los métodos y atributos que no se desea que sean accesibles y como público el único método que podrá ser accesible desde fuera. Acabamos de usar el concepto de visibilidad para implementar el encapsulamiento en esa clase.

El concepto de visibilidad en sí, es simple: define el nivel de accesibilidad que tendrá un atributo, un método o una clase. Nada más.
En cambio, el concepto de encapsulamiento va más allá, se vale del concepto de visibilidad para hacer que sólo los métodos y atributos que se desean sean accesibles.
Cuando yo comencé en este mundo, no sabía que había que el encapsulamiento era un concepto defninido, yo sólo conocía el concepto de visibilidad. Sin embargo, usaba el encapsulamiento sin saber que así se llamaba.

Última edición por farfamorA; 19/03/2014 a las 08:16

Etiquetas: metodo, real, visibilidad
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 08:32.