SlideShare una empresa de Scribd logo
1 de 7
LUIS MARIO ZAPATA AZUA
ARISAI LEILANI MENDEZ MARTINEZ
consiste en la ocultación del estado o de los datos miembro de un objeto, de
forma que sólo es posible modificar los mismos mediante los métodos definidos
para dicho objeto.
• Imaginemos que se crea una clase, una docena de
programadores tienen acceso a dicha clase y la utilizan a
discreción, posteriormente dicha clase comienza a comportarse
de una manera inesperada debido a que los valores que
algunas variables han tomado no fueron anticipados y todo
comienza a desmoronarse. Para corregir el problema se crea
una versión más nueva de dicha clase y listo.
• Bueno, a esto le llamamos flexibilidad y capacidad de
mantenimiento, ambas son características y beneficios de la
programación Orientada a Objetos (OO) pero para que una
clase pueda cumplir dichas funciones los programadores
debemos de hacer algo. Imaginemos que creamos una clase
con variables de instancia públicas a las cuales podemos
acceder sin problemas desde fuera de la misma clase...
• Analizando el código anterior podemos darnos cuenta de que las variables
enteras tipo y clase son públicas y pueden ser accedidas directamente a
través de una instancia de la clase MiClase, esto compila sin ningún
problema, digamos que es 'legal', sin embargo, ¿qué pasa si ingresamos un
valor que no se supone debe de tener una variable (en este caso el -5 que
le asignamos a tipo)?, simplemente no hay nada que nos detenga para
hacerlo. La única manera de proteger el código es escribiendo un método
que nos permita regular los valores que cada variable puede tener y
escondiendo las variables para que no se pueda acceder a ellas de manera
directa, esto es el principio básico de encapsulamiento.

• Si se desea flexibilidad, buen mantenimiento y extensibilidad, nuestro diseño
en el código debe de incluir encapsulamiento, para ello debemos de hacer
lo siguiente:
• 1.
Mantener las variables de instancia protegidas (puede ser con un
modificador de acceso, p.ej., private).
• 2.
Hacer métodos de acceso públicos para forzar al acceso a las
variables por medio de dichos métodos en lugar de acceder directamente.
• 3.
Utilizar las convenciones de código para los nombres de los métodos,
p. ej., set y get.
Si nos fijamos un poquito, en el método setTipo() no existen validaciones para prevenir que
un valor no válido sea asignado a la variable, sin embargo, el proveer de un método de
este tipo desde el diseño inicial de la aplicación nos permite posteriormente modificar el
comportamiento de la misma sin afectar los métodos utilizados, tal vez en un futuro se
desee que dicha variable solamente pueda tener uno entre un rango de valores y se
podrán aplicar posteriormente los cambios sin que haya repercusiones negativas.
Encapsulamiento

Más contenido relacionado

La actualidad más candente

Sentencias de control visual basic
Sentencias de control visual basicSentencias de control visual basic
Sentencias de control visual basicCarloos Octaavio
 
Expocision de visual basic.. lara antamba
Expocision de visual basic.. lara antambaExpocision de visual basic.. lara antamba
Expocision de visual basic.. lara antambaStalyn Cruz
 
Algoritmos en pseudocódigo
Algoritmos en pseudocódigoAlgoritmos en pseudocódigo
Algoritmos en pseudocódigoLuis Fernando
 
Algoritmosenpseudocdigo
AlgoritmosenpseudocdigoAlgoritmosenpseudocdigo
AlgoritmosenpseudocdigoLuis Fernando
 
Estructuras de control
Estructuras de controlEstructuras de control
Estructuras de controlJazmin Acuña
 
Tarea Seminario 5 María Blanco
Tarea Seminario 5 María BlancoTarea Seminario 5 María Blanco
Tarea Seminario 5 María Blancomariablanc99
 
Estructuras de control en Visual Basic
Estructuras de control en Visual BasicEstructuras de control en Visual Basic
Estructuras de control en Visual BasicVane Borjas
 
Programación orientada a objetos (Creación de clases)
Programación orientada a objetos (Creación de clases)Programación orientada a objetos (Creación de clases)
Programación orientada a objetos (Creación de clases)KareliaRivas
 
Estructuras de control en android
Estructuras de control en androidEstructuras de control en android
Estructuras de control en androidvane18evi
 
JUnit - Germán Domínguez
JUnit - Germán DomínguezJUnit - Germán Domínguez
JUnit - Germán Domínguez2008PA2Info3
 

La actualidad más candente (13)

Sentencias de control visual basic
Sentencias de control visual basicSentencias de control visual basic
Sentencias de control visual basic
 
Expocision de visual basic.. lara antamba
Expocision de visual basic.. lara antambaExpocision de visual basic.. lara antamba
Expocision de visual basic.. lara antamba
 
Algoritmos en pseudocódigo
Algoritmos en pseudocódigoAlgoritmos en pseudocódigo
Algoritmos en pseudocódigo
 
Algoritmosenpseudocdigo
AlgoritmosenpseudocdigoAlgoritmosenpseudocdigo
Algoritmosenpseudocdigo
 
Estructuras de control
Estructuras de controlEstructuras de control
Estructuras de control
 
Ejercicio seminario 5 paloma
Ejercicio seminario 5 palomaEjercicio seminario 5 paloma
Ejercicio seminario 5 paloma
 
Tarea Seminario 5 María Blanco
Tarea Seminario 5 María BlancoTarea Seminario 5 María Blanco
Tarea Seminario 5 María Blanco
 
Estructuras de control en Visual Basic
Estructuras de control en Visual BasicEstructuras de control en Visual Basic
Estructuras de control en Visual Basic
 
Errores
ErroresErrores
Errores
 
Programación orientada a objetos (Creación de clases)
Programación orientada a objetos (Creación de clases)Programación orientada a objetos (Creación de clases)
Programación orientada a objetos (Creación de clases)
 
Seminario 5
Seminario 5Seminario 5
Seminario 5
 
Estructuras de control en android
Estructuras de control en androidEstructuras de control en android
Estructuras de control en android
 
JUnit - Germán Domínguez
JUnit - Germán DomínguezJUnit - Germán Domínguez
JUnit - Germán Domínguez
 

Destacado

POO: Encapsulamiento, principio de ocultación, recolección de basura
POO: Encapsulamiento, principio de ocultación, recolección de basuraPOO: Encapsulamiento, principio de ocultación, recolección de basura
POO: Encapsulamiento, principio de ocultación, recolección de basura1da4
 
java (clases,herencias,encapsulamiento,.. )
java (clases,herencias,encapsulamiento,.. )java (clases,herencias,encapsulamiento,.. )
java (clases,herencias,encapsulamiento,.. )brayan0015
 
Encapsulamiento poo
Encapsulamiento pooEncapsulamiento poo
Encapsulamiento pookamigodi
 

Destacado (8)

Rentabili
RentabiliRentabili
Rentabili
 
Encapsulamiento
EncapsulamientoEncapsulamiento
Encapsulamiento
 
Encapsulamiento
EncapsulamientoEncapsulamiento
Encapsulamiento
 
POO: Encapsulamiento, principio de ocultación, recolección de basura
POO: Encapsulamiento, principio de ocultación, recolección de basuraPOO: Encapsulamiento, principio de ocultación, recolección de basura
POO: Encapsulamiento, principio de ocultación, recolección de basura
 
Encapsulamiento en JAVA-NETBEANS
Encapsulamiento en JAVA-NETBEANSEncapsulamiento en JAVA-NETBEANS
Encapsulamiento en JAVA-NETBEANS
 
java (clases,herencias,encapsulamiento,.. )
java (clases,herencias,encapsulamiento,.. )java (clases,herencias,encapsulamiento,.. )
java (clases,herencias,encapsulamiento,.. )
 
7 Curso de POO en java - diagrama de clases
7 Curso de POO en java - diagrama de clases7 Curso de POO en java - diagrama de clases
7 Curso de POO en java - diagrama de clases
 
Encapsulamiento poo
Encapsulamiento pooEncapsulamiento poo
Encapsulamiento poo
 

Similar a Encapsulamiento

Lenguaje de programacion unidad 2 clases y objetos
Lenguaje de programacion unidad 2 clases y objetosLenguaje de programacion unidad 2 clases y objetos
Lenguaje de programacion unidad 2 clases y objetosAndres Herrera Rodriguez
 
Presentacion Java
Presentacion JavaPresentacion Java
Presentacion Javamaeusogo
 
Proyecto en android completado
Proyecto en android completadoProyecto en android completado
Proyecto en android completadoKai Exo
 
Porafolio unidad 1
Porafolio unidad 1Porafolio unidad 1
Porafolio unidad 1bchrmz
 
Porafolio unidad 1
Porafolio unidad 1Porafolio unidad 1
Porafolio unidad 1bchrmz
 
8 Mecanismos-de-abstraccion-en-Java.pptx
8 Mecanismos-de-abstraccion-en-Java.pptx8 Mecanismos-de-abstraccion-en-Java.pptx
8 Mecanismos-de-abstraccion-en-Java.pptxjuan gonzalez
 
Fundamentos de Java II
Fundamentos de Java IIFundamentos de Java II
Fundamentos de Java IImartosfre
 
Sesion 07 nivel_acceso_miembros_clases
Sesion 07 nivel_acceso_miembros_clasesSesion 07 nivel_acceso_miembros_clases
Sesion 07 nivel_acceso_miembros_clasesecodereck
 
Definiciones taller 8 agost
Definiciones taller 8 agostDefiniciones taller 8 agost
Definiciones taller 8 agostoosorioj
 
Métodos en Java-Con ejemplos
Métodos en Java-Con ejemplosMétodos en Java-Con ejemplos
Métodos en Java-Con ejemplosIvan Luis Jimenez
 
Jyoc java-cap08 principios poo
Jyoc java-cap08 principios pooJyoc java-cap08 principios poo
Jyoc java-cap08 principios pooJyoc X
 
Programacion Orientada a Objetos IE
Programacion Orientada a Objetos IEProgramacion Orientada a Objetos IE
Programacion Orientada a Objetos IEKaren Olan
 
Clases objetos teoriayejercicios
Clases objetos teoriayejerciciosClases objetos teoriayejercicios
Clases objetos teoriayejerciciosUTB
 
DEFINICIÓN DE UNA CLASE: Los Metodos.pptx
DEFINICIÓN DE UNA CLASE:  Los Metodos.pptxDEFINICIÓN DE UNA CLASE:  Los Metodos.pptx
DEFINICIÓN DE UNA CLASE: Los Metodos.pptxANDRESFELIPESANDOVAL13
 

Similar a Encapsulamiento (20)

Lenguaje de programacion unidad 2 clases y objetos
Lenguaje de programacion unidad 2 clases y objetosLenguaje de programacion unidad 2 clases y objetos
Lenguaje de programacion unidad 2 clases y objetos
 
Presentacion Java
Presentacion JavaPresentacion Java
Presentacion Java
 
Clase
ClaseClase
Clase
 
Proyecto en android completado
Proyecto en android completadoProyecto en android completado
Proyecto en android completado
 
Porafolio unidad 1
Porafolio unidad 1Porafolio unidad 1
Porafolio unidad 1
 
Porafolio unidad 1
Porafolio unidad 1Porafolio unidad 1
Porafolio unidad 1
 
PROGRAMACIÓN ORIENTADA A OBJETOS
PROGRAMACIÓN ORIENTADA A OBJETOSPROGRAMACIÓN ORIENTADA A OBJETOS
PROGRAMACIÓN ORIENTADA A OBJETOS
 
Compendio u1
Compendio u1Compendio u1
Compendio u1
 
8 Mecanismos-de-abstraccion-en-Java.pptx
8 Mecanismos-de-abstraccion-en-Java.pptx8 Mecanismos-de-abstraccion-en-Java.pptx
8 Mecanismos-de-abstraccion-en-Java.pptx
 
Fundamentos de Java II
Fundamentos de Java IIFundamentos de Java II
Fundamentos de Java II
 
Programacion orientada a_objetos
Programacion orientada a_objetosProgramacion orientada a_objetos
Programacion orientada a_objetos
 
Sesion 07 nivel_acceso_miembros_clases
Sesion 07 nivel_acceso_miembros_clasesSesion 07 nivel_acceso_miembros_clases
Sesion 07 nivel_acceso_miembros_clases
 
Definiciones taller 8 agost
Definiciones taller 8 agostDefiniciones taller 8 agost
Definiciones taller 8 agost
 
Métodos en Java-Con ejemplos
Métodos en Java-Con ejemplosMétodos en Java-Con ejemplos
Métodos en Java-Con ejemplos
 
Unidad1 y 2
Unidad1 y 2Unidad1 y 2
Unidad1 y 2
 
Jyoc java-cap08 principios poo
Jyoc java-cap08 principios pooJyoc java-cap08 principios poo
Jyoc java-cap08 principios poo
 
Programacion Orientada a Objetos IE
Programacion Orientada a Objetos IEProgramacion Orientada a Objetos IE
Programacion Orientada a Objetos IE
 
Clases objetos teoriayejercicios
Clases objetos teoriayejerciciosClases objetos teoriayejercicios
Clases objetos teoriayejercicios
 
DEFINICIÓN DE UNA CLASE: Los Metodos.pptx
DEFINICIÓN DE UNA CLASE:  Los Metodos.pptxDEFINICIÓN DE UNA CLASE:  Los Metodos.pptx
DEFINICIÓN DE UNA CLASE: Los Metodos.pptx
 
Modelo informático
Modelo informáticoModelo informático
Modelo informático
 

Más de Luis Mario Zapata Azua (20)

Diagramas de flujo
Diagramas de flujoDiagramas de flujo
Diagramas de flujo
 
Actividad 4
Actividad  4Actividad  4
Actividad 4
 
Actividad 3
Actividad 3Actividad 3
Actividad 3
 
Actividad 2
Actividad 2Actividad 2
Actividad 2
 
Actividad 1
Actividad 1Actividad 1
Actividad 1
 
Manual de soporte
Manual de soporteManual de soporte
Manual de soporte
 
Manual de mantenimiento
Manual de mantenimientoManual de mantenimiento
Manual de mantenimiento
 
Video instalacion
Video instalacionVideo instalacion
Video instalacion
 
Componentes necesarios para programar en androi1
Componentes necesarios para programar en androi1Componentes necesarios para programar en androi1
Componentes necesarios para programar en androi1
 
Pseudocódigo diagrama de-flujo
Pseudocódigo diagrama de-flujoPseudocódigo diagrama de-flujo
Pseudocódigo diagrama de-flujo
 
Características de versiones de android
Características de versiones de androidCaracterísticas de versiones de android
Características de versiones de android
 
Android un sistema operativo es propiedad de google desde el 2005
Android un sistema operativo es propiedad de google  desde el 2005Android un sistema operativo es propiedad de google  desde el 2005
Android un sistema operativo es propiedad de google desde el 2005
 
Act 49
Act 49Act 49
Act 49
 
Act 43
Act 43Act 43
Act 43
 
Act 30,32,33,34,35
Act 30,32,33,34,35Act 30,32,33,34,35
Act 30,32,33,34,35
 
Actividad 26
Actividad 26Actividad 26
Actividad 26
 
Actividad 26
Actividad 26Actividad 26
Actividad 26
 
Act19
Act19Act19
Act19
 
Actividad 16
Actividad 16Actividad 16
Actividad 16
 
Act 51
Act 51Act 51
Act 51
 

Encapsulamiento

  • 1. LUIS MARIO ZAPATA AZUA ARISAI LEILANI MENDEZ MARTINEZ
  • 2. consiste en la ocultación del estado o de los datos miembro de un objeto, de forma que sólo es posible modificar los mismos mediante los métodos definidos para dicho objeto.
  • 3. • Imaginemos que se crea una clase, una docena de programadores tienen acceso a dicha clase y la utilizan a discreción, posteriormente dicha clase comienza a comportarse de una manera inesperada debido a que los valores que algunas variables han tomado no fueron anticipados y todo comienza a desmoronarse. Para corregir el problema se crea una versión más nueva de dicha clase y listo.
  • 4. • Bueno, a esto le llamamos flexibilidad y capacidad de mantenimiento, ambas son características y beneficios de la programación Orientada a Objetos (OO) pero para que una clase pueda cumplir dichas funciones los programadores debemos de hacer algo. Imaginemos que creamos una clase con variables de instancia públicas a las cuales podemos acceder sin problemas desde fuera de la misma clase...
  • 5. • Analizando el código anterior podemos darnos cuenta de que las variables enteras tipo y clase son públicas y pueden ser accedidas directamente a través de una instancia de la clase MiClase, esto compila sin ningún problema, digamos que es 'legal', sin embargo, ¿qué pasa si ingresamos un valor que no se supone debe de tener una variable (en este caso el -5 que le asignamos a tipo)?, simplemente no hay nada que nos detenga para hacerlo. La única manera de proteger el código es escribiendo un método que nos permita regular los valores que cada variable puede tener y escondiendo las variables para que no se pueda acceder a ellas de manera directa, esto es el principio básico de encapsulamiento. • Si se desea flexibilidad, buen mantenimiento y extensibilidad, nuestro diseño en el código debe de incluir encapsulamiento, para ello debemos de hacer lo siguiente: • 1. Mantener las variables de instancia protegidas (puede ser con un modificador de acceso, p.ej., private). • 2. Hacer métodos de acceso públicos para forzar al acceso a las variables por medio de dichos métodos en lugar de acceder directamente. • 3. Utilizar las convenciones de código para los nombres de los métodos, p. ej., set y get.
  • 6. Si nos fijamos un poquito, en el método setTipo() no existen validaciones para prevenir que un valor no válido sea asignado a la variable, sin embargo, el proveer de un método de este tipo desde el diseño inicial de la aplicación nos permite posteriormente modificar el comportamiento de la misma sin afectar los métodos utilizados, tal vez en un futuro se desee que dicha variable solamente pueda tener uno entre un rango de valores y se podrán aplicar posteriormente los cambios sin que haya repercusiones negativas.