Está en la página 1de 14

Materia

Programación Estructurada

Catedratico

In g. Fabián Zaldivar

Tema

Encapsulamiento y Ocultamiento de Datos

Diana Madrigales Motiño

201410040123

Universidad Tecnológica de Honduras

El Progreso, Yoro

2017
Índice

Introducción .................................................................................. 3

Objetivos....................................................................................... 4

Específicos ................................................................................. 4

Generales .................................................................................... 4

Encapsulamiento ............................................................................. 5

Definición................................................................................... 5

Encapsulamiento .......................................................................... 6

Formas de encapsular .................................................................... 6

Ocultación de información ............................................................... 7

Historia ...................................................................................... 7

Definición................................................................................... 7

Usos........................................................................................... 8

Ejemplos..................................................................................... 9

Recomendación .............................................................................12

Conclusion ...........................................Error! Bookmark not defined.

Bibliografia ..........................................Error! Bookmark not defined.


Introducción

Se denomina Encapsulamiento al ocultamiento del estado, es decir, del

dato miembro de un objeto de manera que sólo se pueda cambiar

mediante las operaciones definidas para ese objeto.

Se conoce como principio de ocultación de información a la

ocultación de decisiones de diseño en un programa susceptible de

cambios con la idea d e proteger a otras partes del código si éstos se

producen.

A continuación, hablaremos más a fondo acerca de estos temas

Encapsulamiento y ocultamiento de Datos

Página | 3
Objetivos

Específicos

 Definir que es el Encapsulamiento de Datos

 Definir que es el Ocultami ento de Datos

 Conocer para que se utilizan ambos

Generales

 Desarrollar un alto nivel de conocimiento acerca de encapsulamiento

y ocultamiento de datos, para poder desarrollar un programa en C++,

más profesional y entendible.

Página | 4
E n c a p s u l a mi e n t o

Definición

En programación modular, y más específicamente en programación

orientada a objetos, se denomina Encapsulamiento al ocultamiento del

estado, es decir, de los datos miembro de un objeto de manera que sólo

se pueda cambiar mediante las operaciones definidas para ese objeto.

Cada objeto está aislado del exterior, es un módulo natural, y la

aplicación entera se reduce a un agregado o rompecabezas de objetos.

El aislamiento protege a los datos asociados de un objeto contra su

modificación por quien n o tenga derecho a acceder a ellos, eliminando

efectos secundarios e interacciones.

De esta forma el usuario de la clase puede obviar la

implementación de los métodos y propiedades para concentrarse sólo en

cómo usarlos. Por otro lado, se evita que el usua rio pueda cambiar su

estado de maneras imprevistas e incontroladas.

Página | 5
Encapsulamiento

Como se puede observar de los diagramas, las variables del objeto se

localizan en el núcleo del objeto. Los métodos rodean y esconden el

núcleo del objeto de otros objetos en el programa. Al empaquetamiento

de las variables de un objeto con la protección de sus métodos se le

llama encapsulamiento. Típicamente, el encapsulamiento es utilizado

para esconder detalles de la puesta en práctica no importantes de otros

objetos. Entonces, los detalles de la puesta en práctica pueden cambiar

en cualquier tiempo sin afectar otras partes del programa.

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. (/es.wikipedia.org, 2017)

Página | 6
O c u l t a c i ó n d e i n f o r ma c i ó n

Historia

El concepto de ocultación de información apareció documentado por

primera vez en un artículo de David Parnas, "On the Criteria to Be Used

in Decomposing Systems Into Modules", publicado en "Communications

of the ACM" en diciembre de 1972.

Definición

En informática, se conoce como principio de ocultación de información

a la ocultación de decisiones de diseño en un programa susceptible de

cambios con la idea de proteger a otras partes del código si éstos se

producen. Proteger una decisión de diseño supone proporcionar una

interfaz estable que proteja el resto del programa de la implementación

(susceptible de cambios). En los lenguajes de programación modernos

el principio de ocultación de información se manifiesta de diferentes

maneras, como por ejemplo la encapsulación.

Página | 7
Usos

El término encapsulación a menudo se utiliza como sinónimo de la

ocultación de información, si bien existen ciertas dife rencias entre

ambos conceptos . Sin embargo, parece que no existe un acuerdo sobre

dichas diferencias, siendo común la idea de que la ocultación de

información es el principio mientras que la encapsulación es la técnica.

Un módulo de software oculta información encapsulándola en otro

módulo u otra construcción con la que se comunica mediante una

interfaz.

El uso más común de la ocultación de información es ocultar el

diseño del almacenamiento físico de los datos, de manera que si dicho

diseño es modificado solamente afecte a un pequeño subconjunto del

programa total. Por ejemplo, si un punto tridimensional de coordenadas

( x , y, z ) e s r e p r e s e n t a d o e n u n p r o g r a m a c o n t r e s v a r i a b l e s e s c a l a r e s d e

coma flotante y posteriormente dic ha representación es modificada a

una variable array de tamaño 3, un módulo diseñado mediante la

ocultación de información en principio protegería al resto del programa

de este cambio.

Página | 8
En la programación orientada a objetos, la ocultación de

información reduce los riesgos en el desarrollo de software al superar

la dependencia del código de una implementación aún incierta (es una

decisión de diseño) gracias a una interfaz bien construida. Los clientes

de la interfaz realizan sus operaciones a través de ella de modo que, si

la implementación cambia, los clientes no tienen conocimiento de ello.

Los autores de los patrones de diseño comentan las tensiones entre la

herencia y la encapsulación en cuanto a que los diseñadores abusan de

esta última (Gang of Four 1995:20). El peligro es expresado del

siguiente modo:

"Puesto que la herencia expone a una subclase los detalles de la

implementación de su clase padre, a menudo se dice que 'la herencia

rompe la encapsulación'". (Gang of Four 1995:19)

Ejemplos

Por ejemplo, una marca de coches puede ofertar una versión de

lujo de un cierto modelo del que también ofrecen una versión básica. La

versión de lujo monta un motor más potente que la básica. Sin embargo,

los ingenieros han realizado el diseño de ambos motores de fo rma que

la "interfaz" sea la misma: ambos motores encajan en la carrocería

Página | 9
compartida por los dos modelos, están acoplados a la misma

transmisión y tienen los mismos controles. La diferencia entre ellos

reside en que la versión de lujo, más potente, es de mayor cilindrada y

v a a l i m e n t a d o m e d i a n t e i n ye c c i ó n .

Además de un motor más potente, la versión de de lujo ofrecería

otras opciones como un mejor sistema de sonido, asientos más cómodos,

una mejor suspensión con neumáticos más anchos y diferentes colores

para la carrocería. Pese a todos estos cambios, el coche en sí es el

mismo. El sistema de sonido reemplaza a la radio básica, que es de por

sí un módulo; los asientos van montados sobre la misma base que los

básicos, etc.

Los ingenieros han diseñado el coche dividiendo el trabajo en

distintas tareas asignadas a sus respectivos equipos. Cada equipo diseña

entonces sus componentes con la única restricción de adaptarse a un

determinado estándar o interfaz que asegure la cohesión del resultado

final.

Como se ve en el ejemplo, la ocultación de información supone

m a yo r f l e x i b i l i d a d . E s t a f l e x i b i l i d a d p e r m i t e a l p r o g r a m a d o r m o d i f i c a r

diferentes funciones del programa para adaptarlo a las necesidades de

Página | 10
los usuarios. Si durante el diseño se han seguido estas pau tas, los

c a m b i o s e v o l u t i v o s s o n m u c h o m á s f á c i l e s d e r e a l i z a r ya q u e s u e l e n

tener un alcance local y no global.

Volviendo a los coches, otro ejemplo es la interfaz del conductor

con la máquina, compuesta por pedales, volante, testigos, palancas...

Salvando las distancias, es común entre todos los coches, de manera

que cuando una persona aprende a conducir y recibe su permiso de

conducción no tiene que volver a obtenerlo si cambia de coche.

(es.wikipedia.org, 20 17)

Página | 11
R e c o me n d a c i ó n

Profundizar más el tema investigado acerca de los

encapsulamiento y ocultamiento de datos, plantearlo en la hora clase,

para poder utilizarlo al momento de realizar un programa con el

Lenguaje C++

Página | 12
Conclusión

Gracias al encapsulamiento y ocultamiento de Datos, podremos

desarrollar un programa más completo, ordenado, y sobre todo con

instrucciones adecuadas para un manejo fácil y entendible

Página | 13
Bibliografía

/es.wikipedia.org. (Lunes 20 de ma rzo de 2017). https://es.wikipedia.org .

https://es.wikipedia.org/wiki/Encapsulamiento_(inform%C3%A1tica)

es.wikipedia.org. (Lunes 20 de Marzo de 2017). https://es.wikipedia.org .

https://es.wikipedia.org/wiki/Ocultaci%C3%B3n_de_informaci%C3

%B3n

Página | 14

También podría gustarte