SlideShare una empresa de Scribd logo
1 de 6
Encapsulamiento
Solo basta con pensar en una cápsula de una nave espacial, una cápsula
médica, o un envase para alimentos. Esa es la idea de que hay algo que
rodea al código, para proteger esos contenidos, agrupar esos atributos y
sus conductas en una misma unidad.
Pero también se puede restringir el acceso a los mecanismos internos de
una clase, se lo conoce también como ocultamiento de datos.
Un objeto no debe revelar nada de sí mismo excepto lo estrictamente
necesario.
Por ejemplo en nuestra clase cuenta bancaria no queremos que alguna otra
parte de nuestra aplicación pueda introducirse y cambiar ciertas propiedades
como saldo y otros sin pasar por determinados comportamientos. Los cuales
deben modificarse solo con los métodos propios del objeto.
Este concepto también se lo conoce como el método de la "caja negra" o
"black box", se sabe lo que entra y lo que sale de la caja negra, pero no
sabemos los procesos que suceden dentro de la caja.
Ejemplo 1: De un televisor, el usuario conoce su apariencia y parte de su
funcionamiento. Sólo le importa que funcionen el selector de canales, el video y el
audio; no le interesa saber cómo funciona cada una de las partes internas del aparato,
ese detalle sólo le interesan al fabricante y al técnico de servicio.
Ejemplo 2: De un animal no sólo es necesario conocer su apariencia; también se
requiere conocer qué sabe hacer y cómo reacciona ante determinadas situaciones.
Formas de encapsular
Estándar (Predeterminado)
Abierto: Hace que el miembro de la clase pueda ser accedido desde el exterior
de la Clase y cualquier parte del programa.
Protegido: Solo es accesible desde la Clase y las clases que heredan (a cualquier
nivel).
Semi cerrado: Solo es accesible desde la clase heredada.
Cerrado: Solo es accesible desde la Clase.
En el encapsulamiento hay analizadores que pueden ser semánticos y
sintácticos.
Encapsulamiento

Más contenido relacionado

La actualidad más candente

Clases Anidadas en java
Clases Anidadas en javaClases Anidadas en java
Clases Anidadas en java
jent46
 
5. otros aspectos de la programación orientada a objetos
5. otros aspectos de la programación orientada a objetos5. otros aspectos de la programación orientada a objetos
5. otros aspectos de la programación orientada a objetos
HectorMamani
 
OCP, JSE 6 Programmer (1Z0-851) - Guia practica 6 de 7(Colecciones y Genericos)
OCP, JSE 6 Programmer (1Z0-851) - Guia practica 6 de 7(Colecciones y Genericos)OCP, JSE 6 Programmer (1Z0-851) - Guia practica 6 de 7(Colecciones y Genericos)
OCP, JSE 6 Programmer (1Z0-851) - Guia practica 6 de 7(Colecciones y Genericos)
Oscar V
 

La actualidad más candente (12)

Clases Anidadas en java
Clases Anidadas en javaClases Anidadas en java
Clases Anidadas en java
 
Certificación java 6 cap 1
Certificación java 6 cap 1Certificación java 6 cap 1
Certificación java 6 cap 1
 
Implementación de clases
Implementación de clasesImplementación de clases
Implementación de clases
 
2 POO Presentación
2 POO Presentación2 POO Presentación
2 POO Presentación
 
Poo en java herencia
Poo en java   herenciaPoo en java   herencia
Poo en java herencia
 
Curso Java Inicial 7 Excepciones
Curso Java Inicial   7 ExcepcionesCurso Java Inicial   7 Excepciones
Curso Java Inicial 7 Excepciones
 
5. otros aspectos de la programación orientada a objetos
5. otros aspectos de la programación orientada a objetos5. otros aspectos de la programación orientada a objetos
5. otros aspectos de la programación orientada a objetos
 
Cuestionario cevallos
Cuestionario cevallosCuestionario cevallos
Cuestionario cevallos
 
Unidad o informatica
Unidad o informaticaUnidad o informatica
Unidad o informatica
 
Elementos caracteristicos de la poo
Elementos caracteristicos de la pooElementos caracteristicos de la poo
Elementos caracteristicos de la poo
 
OCP, JSE 6 Programmer (1Z0-851) - Guia practica 6 de 7(Colecciones y Genericos)
OCP, JSE 6 Programmer (1Z0-851) - Guia practica 6 de 7(Colecciones y Genericos)OCP, JSE 6 Programmer (1Z0-851) - Guia practica 6 de 7(Colecciones y Genericos)
OCP, JSE 6 Programmer (1Z0-851) - Guia practica 6 de 7(Colecciones y Genericos)
 
Java y xml
Java y xmlJava y xml
Java y xml
 

Similar a Encapsulamiento

Practica retro java 28102013
Practica retro java 28102013Practica retro java 28102013
Practica retro java 28102013
Edgar Rosas
 

Similar a Encapsulamiento (20)

Encapsulamiento poo
Encapsulamiento pooEncapsulamiento poo
Encapsulamiento poo
 
Encapsulamiento poo
Encapsulamiento pooEncapsulamiento poo
Encapsulamiento poo
 
Encapsulamiento
EncapsulamientoEncapsulamiento
Encapsulamiento
 
java (clases,herencias,encapsulamiento,.. )
java (clases,herencias,encapsulamiento,.. )java (clases,herencias,encapsulamiento,.. )
java (clases,herencias,encapsulamiento,.. )
 
Practica retro java 28102013
Practica retro java 28102013Practica retro java 28102013
Practica retro java 28102013
 
Encapsulamiento
EncapsulamientoEncapsulamiento
Encapsulamiento
 
[ES] Programación orientada a objeto con java
[ES] Programación orientada a objeto con java[ES] Programación orientada a objeto con java
[ES] Programación orientada a objeto con java
 
Programacion Orientada a Objetos
Programacion Orientada a ObjetosProgramacion Orientada a Objetos
Programacion Orientada a Objetos
 
Encapsulamiento
EncapsulamientoEncapsulamiento
Encapsulamiento
 
Porafolio unidad 1
Porafolio unidad 1Porafolio unidad 1
Porafolio unidad 1
 
Porafolio unidad 1
Porafolio unidad 1Porafolio unidad 1
Porafolio unidad 1
 
Unidad i parte i
Unidad i parte iUnidad i parte i
Unidad i parte i
 
Encapsulamiento
EncapsulamientoEncapsulamiento
Encapsulamiento
 
Definiciones taller 8 agost
Definiciones taller 8 agostDefiniciones taller 8 agost
Definiciones taller 8 agost
 
Presentacion De La Primera Unidad 2
Presentacion De La Primera Unidad 2Presentacion De La Primera Unidad 2
Presentacion De La Primera Unidad 2
 
Encapsulamiento en JAVA-NETBEANS
Encapsulamiento en JAVA-NETBEANSEncapsulamiento en JAVA-NETBEANS
Encapsulamiento en JAVA-NETBEANS
 
encapsulamiento
encapsulamientoencapsulamiento
encapsulamiento
 
Encapsulamiento
EncapsulamientoEncapsulamiento
Encapsulamiento
 
Encapsulamiento
EncapsulamientoEncapsulamiento
Encapsulamiento
 
Unidad 1-repaso-objetos
Unidad 1-repaso-objetosUnidad 1-repaso-objetos
Unidad 1-repaso-objetos
 

Encapsulamiento

  • 2. Solo basta con pensar en una cápsula de una nave espacial, una cápsula médica, o un envase para alimentos. Esa es la idea de que hay algo que rodea al código, para proteger esos contenidos, agrupar esos atributos y sus conductas en una misma unidad. Pero también se puede restringir el acceso a los mecanismos internos de una clase, se lo conoce también como ocultamiento de datos. Un objeto no debe revelar nada de sí mismo excepto lo estrictamente necesario.
  • 3. Por ejemplo en nuestra clase cuenta bancaria no queremos que alguna otra parte de nuestra aplicación pueda introducirse y cambiar ciertas propiedades como saldo y otros sin pasar por determinados comportamientos. Los cuales deben modificarse solo con los métodos propios del objeto. Este concepto también se lo conoce como el método de la "caja negra" o "black box", se sabe lo que entra y lo que sale de la caja negra, pero no sabemos los procesos que suceden dentro de la caja.
  • 4. Ejemplo 1: De un televisor, el usuario conoce su apariencia y parte de su funcionamiento. Sólo le importa que funcionen el selector de canales, el video y el audio; no le interesa saber cómo funciona cada una de las partes internas del aparato, ese detalle sólo le interesan al fabricante y al técnico de servicio. Ejemplo 2: De un animal no sólo es necesario conocer su apariencia; también se requiere conocer qué sabe hacer y cómo reacciona ante determinadas situaciones.
  • 5. Formas de encapsular Estándar (Predeterminado) Abierto: Hace que el miembro de la clase pueda ser accedido desde el exterior de la Clase y cualquier parte del programa. Protegido: Solo es accesible desde la Clase y las clases que heredan (a cualquier nivel). Semi cerrado: Solo es accesible desde la clase heredada. Cerrado: Solo es accesible desde la Clase. En el encapsulamiento hay analizadores que pueden ser semánticos y sintácticos.