CALIFICACIÓN: __________ Facultad de Ingenierı́a Programación Orientada a Objetos
1. Introducción
La creación de programas requiere un proceso ...
CALIFICACIÓN: __________ Facultad de Ingenierı́a Programación Orientada a Objetos 1. Introducción La creación de programas requiere un proceso de abstracción y aislamiento del problema a resolver, sin embargo, es importante considerar la siguiente pregunta: ¿Quién podrá acceder a todas las caracterı́sticas implementadas? ¿Qué elementos del programa deben de estar fuera del alcance del usuario con el fin de garantizar el correcto funcionamiento del mismo? Figura 1: No todas las caracterı́sticas deben estar a la vista del usuario final. A la hora de proponer una solución a un determinado problema, el proceso de abstracción es esen- cial para aislar las caracterı́sticas clave de la situación y proponer soluciones eficaces y concretas. La forma de implementar la solución a tal problema en muchas ocasiones trae consigo restricciones o consideraciones importantes para que tal solución funcione adecuadamente: a esto se le llama encapsulamiento. 1.1. Abstracción Es un proceso que tiene como objetivo interpretar y diseñar para reconocer y centrarse en las caracterı́sticas importantes de un objeto (instancia), y ignorar u omitir las particularidades menos centrales. El concepto de clase es el mecanismo o medio por el cual se gestiona las abstracciones: se centra en lo que es y lo que hace el objeto, antes de determinar cómo se va a implementar, es decir, se enfoca más en el qué hace que en cómo lo hace. La abstracción funcional se enfoca en las funcionalidades o acciones que realizan determinados objetos, sin ahondar en cómo realizan tales acciones. La abstracción de datos define las caracterı́sticas importantes de un objeto: aquellas que lo definen o distinguen de los demás tipos de objeto. 2 Facultad de Ingenierı́a Programación Orientada a Objetos Figura 2: ¿Qué caracteriza a un coche y qué acciones puede llevar a cabo? 1.2. Encapsulamiento El encapsulamiento es la propiedad que nos permite asegurar que la información de un objeto está oculta de lo que hacen otros objetos o del mundo exterior, por lo que se denomina ocultación de datos. Esta pro- piedad consiste en agrupar en una clase los atributos (caracterı́sticas) con un acceso privado y los métodos (comportamientos) con un acceso público. En general, describe la vinculación de un comportamiento y un estado a un objeto en particular. Otras caracterı́sticas del encapsulamiento son las siguientes: Permite considerar a los objetos como “cajas negras”, evitando que otros objetos accedan a detalles que no les interesan o incumben. Las funciones usuarias no requieren conocer los detalles de la implementación. Los métodos y atributos pueden ser utilizados por otras clases sı́ y sólo si la clase que los encapsula les brinda los permisos necesarios para ello. Figura 3: Para que el proceso de abstracción funcione adecuadamente, la implementación requiere estar encapsulada. 3 Facultad de Ingenierı́a Programación Orientada a Objetos 1.3. Reglas de visibilidad Las reglas de visibilidad son parte del principio de encapsulamiento. Los niveles de visibilidad dependen del lenguaje de programación; de forma general pueden definirse 3 niveles principales: Privado: Es el nivel de acceso más restrictivo y especifica que los elementos solo pueden se
Compartilhar