Fundamentos De Lenguaje De Programación
stephano_viper13 de Octubre de 2012
4.103 Palabras (17 Páginas)534 Visitas
INDICE
Introducción……………………………………………………………………………Página 4
Tema: Abstracción, Encapsulamiento,
Modularidad, Herencia y Polimorfismo……………………………………Página 5
1) Abstracción (Concepto)……………………………………………………..Página6 - 9
1.1. Ejemplo de abstracción
1.2. Características
1.3. Mecanismo de abstracción
1.3.1. Generalización
1.3.2. Agregación
1.3.3. Clasificación
2) Encapsulación (Concepto)……….………………………………………..Página 9 –11
2.1. Ejemplo de encapsulación
2.2. Niveles de acceso
2.2.1. Público
2.2.2. Protegido
2.2.3.Privado
2.3. Modo de comunicación
3) Modularidad (Concepto)……………………..……………………………Página 12 - 14
3.1. Modularidad en java
3.2. Importancia de la modularidad
3.3. Ventajas de la programación modularidad
3.3.1. Independencia
3.3.2. Flexibilidad
3.3.3. Mejora en la depuración y búsqueda de error
3.4. Tipos de módulos (java)
3.4.1. Módulos de definición
3.4.2. Módulos de servicio
3.4.3. Módulos de abstracción de datos
4) Herencia (Concepto)…………………………………………………………Página 15 – 17
4.1. Importancia
4.2. Tipos de herencia
4.2.1. Herencia Simple
4.2.2. Herencia Múltiple
5) Polimorfismo (Concepto)…………………………………………………Página 18 – 19
5.1. Clases
5.1.1. Polimorfismo dinámico
5.1.2. Polimorfismo estático
5.2. Tipos
5.2.1. Polimorfismo de sobrecarga
5.2.2. Polimorfismo paramétrico
5.2.3. Polimorfismo de inclusión
Conclusión……………………………………………………………………………….Página 20
Bibliografía………………………………………………………………………………Página 21
INTRODUCCION
TEMA:
Abstracción, Encapsulamiento, Modularidad, Herencia, Polimorfismo.
DEDICADO PARA LOS ALUMNOS E INGENIEROS DE LA UNIVERSIDAD CIENTIFICA DEL PERU, DE LA CARRERA PROFESIONAL DE INGENIERIA DE SISTEMAS.
Abstracción
1) Concepto:
La abstracción es un principio por el cual se aísla toda aquella información que no resulta relevante a un determinado nivel de conocimiento. Consiste de una exanimación colectiva de ciertos aspectos de un problema, con el objetivo de aislar aquellos aspectos que son importantes para algún propósito y suprimir aquellos que no lo son.
Es una descripción de especificación que enfatiza algunos de los detalles o propiedades de algo. La abstracción consiste en captar las características esenciales de un objeto, así como su comportamiento. Es un método por el cual abstraemos valga la redundancia, una determinada entidad de la realidad de sus características y funciones que desempeñan, estos son representados en clases por medio de atributos y métodos de dicha clase.
Mediante la abstracción la mente humana modeliza la realidad en forma de objetos. Para lograr esto, busca parecidos entre la realidad y la posible implementación de objetos del programa que simulen el funcionamiento de los objetos reales.
Los seres humanos no pensamos en las cosas como un conjunto de cosas menores; por ejemplo, no vemos un cuerpo humano como un conjunto de células. Los humanos entendemos la realidad como objetos con comportamientos bien definidos. No necesitamos conocer los detalles de porqué ni cómo funcionan las cosas; simplemente solicitamos determinadas acciones en espera de una respuesta; cuando una persona desea desplazarse, su cuerpo le responde comenzando a caminar.
Pero la abstracción humana se gestiona de una manera jerárquica, dividiendo sucesivamente sistemas complejos en conjuntos de subsistemas, para así entender más fácilmente la realidad. Esta es la forma de pensar que la orientación a objeto intenta cubrir.
1.1. Ejemplos de abstracción
• Para abstraer la clase automóvil, debemos saber que atributos y que acciones se pueden hacer con esos atributos, entonces: ¿Qué características podemos abstraer de los automóviles? o ¿Qué características semejantes tienen todos los automóviles?
Características: Marca, Modelo, Número de chasis, Peso llantas o cauchos, Puertas, Ventanas, etc.
Acciones: Acelerar, Frenar, Retroceder, etc.
La gerencia de un taller mecánico necesita un sistema para controlar los vehículos que ingresan a sus instalaciones. En este caso, las características esenciales de la clase vehículo son: Marca, Modelo, Color, Falla detectada, Nombre del Propietario, Dirección del Propietario, Teléfono del Propietario, etc.
A esto se le llama abstracción. En general un programa no es más que una descripción abstracta de un procedimiento o fenómeno que existe o sucede en el mundo real.
• La abstracción es crucial para comprender este complejo mundo.
• La abstracción es esencial para el funcionamiento de una mente humana normal y es una herramienta muy potente para tratar la complejidad.
• La abstracción es clave para diseñar un buen software.
1.2. Características
• Para un mismo problema pueden existir diferentes abstracciones, dependiendo del propósito.
• Todas las abstracciones son incompletas e inexactas.
• La abstracción permite limitar el universo de manera que podamos construir modelos.
• No existen abstracciones correctas, sólo existen abstracciones adecuadas o inadecuadas.
1.3. Mecanismos de abstracción
Los mecanismos de abstracción son usados en el entorno orientado a objetos, para extraer y definir del medio a modelar, sus características y su comportamiento. Dentro del EOO son muy usados mecanismos de abstracción: la Generalización, la Agregación y la clasificación.
1.3.1. Generalización:
A veces sucede que dos clases tienen muchas de sus partes en común, lo que normalmente se abstrae en la creación de una tercera clase (padre de las dos) que reúne todas sus características comunes.El ejemplo más extendido de este tipo de relaciones es la herencia, propiedad por la que una clase (clase hija) recoge aquellos métodos y atributos que una segunda clase (clase padre) ha especificado como "heredables".
Este tipo de relaciones es característico de la programación orientada a objetos.En realidad, la generalización y su opuesto la especialización son diferentes perspectivas del mismo concepto, la generalización es una perspectiva ascendente (bottom-up), mientras que la especialización es una perspectiva descendente (top-down).
Ejemplo de generalización Ejemplo de especificación
1.3.2. Agregación:
Una agregación es una relación que representa a los objetos compuestos. Un objeto es compuesto si se compone a su vez de otros objetos. La agregación de objetos permite describir modelos del mundo real que se componen de otros modelos, que a su vez se componen de otros modelos.
Este es un concepto que se utiliza para expresar tipos de relaciones entre objetos parte-de (part-of) o tiene-un (has-a). El objeto componente, también a veces denominado continente o contenedor, es un objeto agregado que se compone de múltiples objetos. Lo contrario de agregación es la descomposición, La diferencia entre agregación y descomposición es que mientras que la descomposición se entiende que dura durante toda la vida del objeto componedor, en la agregación no tiene por qué ser así.
Ejemplo de agregación:
1.3.3. Clasificación:
Se refiere a que los objetos con los mismos atributos y comportamientos (métodos), son agrupados enclases. Cada objeto perteneciente a una clase, se dice que es una instanciade la clase. Así que una clase, representa aun posible conjunto infinito de objetos individuales.
Por ejemplo a todos los alumnos que aparecerán en la lista de calificaciones finales, los clasificamos en la clase Alumno. A todos los amigos que registramos en nuestra agenda, los podemos clasificar en la clase Persona. Lo contrario a clasificación es la ejemplificación, que se da cuando se instancia una determinada clase.
ENCAPSULACION
2) Concepto:
Consiste en unir en la clase las características y comportamientos, esto es, las variables y métodos, es tener todo esto en una sola entidad, en los lenguajes estructurados esto era imposible. El encapsulamiento permite a los objetos elegir qué información es publicada y qué información es ocultada al resto de los objetos. Para ello los objetos suelen presentar sus métodos como interfaces públicas y sus atributos como datos privados e inaccesibles desde otros objetos.
Es evidente que el encapsulamiento se logra gracias a la abstracción. La utilidad del encapsulamiento va por la facilidad para manejar la complejidad, ya que tendremos a las clases como cajas negras donde sólo se conoce el comportamiento pero no los detalles internos, y esto es conveniente porque nos interesará
...