Introducción a la Programación Orientada a Objetos

Comienza Ya. Es Gratis
ó regístrate con tu dirección de correo electrónico
Rocket clouds
Introducción a la Programación Orientada a Objetos por Mind Map: Introducción a la Programación  Orientada a Objetos

1. Objetivos

1.1. - Conceptualizar terminología orientada a objetos - Determinar la importancia de la POO en el desarrollo de aplicaciones de software - Abstraer objetos reales para representarlos por computadora - Modelar diagramas de clases mediante UML

2. Evolución de los lenguajes de programación

2.1. Lenguaje Máquina.

2.1.1. Es el lenguaje que entiende el hardware del computador, se maneja en código binario y es muy rápido de ejecutarse.

2.1.1.1. Es muy difícil de programar son entendidos por una arquitectura hardware. Se denominan lenguajes de bajo nivel, mientras que los que se encuentran más cercanos a los programadores y usuarios se denominan lenguajes de alto nivel.

2.2. Lenguaje Ensamblador

2.2.1. es un lenguaje de bajo nivel y específico a una arquitectura física o virtual, utilizado para programar microprocesadores, microcontro-ladores y otros circuitos integrados.

2.3. Lenguajes de Alto Nivel

2.3.1. Permite la creación de código fuente utilizando instrucciones escritas en un lenguaje casi natural, es decir entendible por el ser humano.

3. Técnicas de programación

3.1. Programación Secuencial o Lineal

3.1.1. consiste en crear instrucciones de código una a continuación de otra y su ejecución es de igual forma secuencial incluyendo algunos saltos incondicionales

3.2. Programación modular

3.2.1. El código se organiza en procedimientos (subprogramas o subrutinas) y/o funciones, que consiste en un conjunto de instrucciones con el propósito de resolver una tarea determinada.

3.3. Programación estructurada

3.3.1. Es una técnica orientada a mejorar la claridad y calidad de los programas utilizando subrutinas y estructuras de control (secuencial, selección: if, else, switch e iteración o bucles: while y for)

3.4. Programación Orientada a Objetos

3.4.1. Es una técnica o estilo de programación que utiliza objetos como bloque esencial de construcción.

3.5. Programación Visual

3.5.1. Es una técnica de programación que crea aplicaciones del mundo real para entorno Windows o Web.

4. La programación tradicional

4.1. es una caja negra que realiza una tarea y en ciertos casos accede a estructuras de datos globales y se comunican entre sí mediante el paso de parámetros.

5. Programación orientada a objetos (poo)

5.1. es utilizada para crear aplicaciones informáticas extensas en base a objetos del mundo real denominados entidades.

6. Objetos o entidades reales

6.1. Objetos físicos

6.1.1. Son los objetos tangibles, es decir los que se puede ver y tocar.

6.2. Objetos Lógicos

6.2.1. creados por la necesidad del hombre para plasmar la información en forma textual o gráfica

7. Procesos de abstracción e instanciación

7.1. Abstracción

7.1.1. proceso de abstracción consiste en identificar o se seleccionar entidades u objetos reales con similares características

7.2. Instanciación

7.2.1. El proceso de instanciación implica crear objetos a partir de clases. Para instanciar objetos en la aplicación informática, es necesario contar con el modelo de clases.

8. La poo frente a la programación tradicional

8.1. Se crean procedimientos que no se adaptan fácilmente a nuevas situaciones debido a que son para un propósito específico de manejo de datos.

9. Conceptos orientados a objetos

9.1. asocia nuevos fundamentos teóricos considerados como los elementos básicos, por ejemplo: objeto, clase, miembros de clase (datos y métodos)

10. Clase

10.1. Un objeto es creado cuando la clase correspondiente recibe un mensaje solicitando su creación; debido a este proceso los objetos se conocen como instancias de clase.

11. Objeto

11.1. Un objeto es una entidad que contiene unos atributos o características particulares (datos) y un comportamiento que representa la forma de operar sobre dichos datos (métodos).

12. Miembros de una clase: datos y métodos

12.1. Los datos

12.1.1. son considerados también campos, tienen asociado un tipo de dato que puede ser primitivo (int, char, double, etc.) o tipo personalizado (clase).

12.2. Los métodos

12.2.1. determinan cómo tiene que actuar el objeto cuando recibe un mensaje y permiten gestionar los datos miembro para dicho objeto.

13. Mensaje

13.1. es la comunicación que se establece entre dos objetos; es decir, cuando un objeto A invoca a un objeto B, para que éste ejecute uno de sus métodos.

14. Herencia

14.1. permite definir nuevas clases denominadas “derivadas, hijas o subclases”, a partir de clases ya existentes, llamadas “base, padre o superclase”. De esta manera los objetos pueden construirse en base a otros objetos ya creados.

15. La herencia es útil por dos motivos:

15.1. a) Reutilización de código.

15.1.1. Las clases pueden agruparse en paquetes, librerías o bibliotecas para facilitar su distribución. Los programas que reutilizan estas bibliotecas, sólo necesitan conocer los nombres de dichas clases y su interfaz pública.

15.2. b) Creación de programas extensibles

15.2.1. La nueva clase derivada puede manejarse por el mismo programa sin modificación, como el programa es únicamente un gestor para un conjunto de objetos genéricos, los errores se aíslan automáticamente en los mismos objetos.

16. Características de la programación orientada a objetos

16.1. 1. Abstracción

16.1.1. consiste en crear un modelo de clases a partir de la selección de las características esenciales y comportamientos comunes de un grupo de objetos reales.

16.2. 2. Encapsulamiento

16.2.1. el proceso de agrupar datos y métodos en una única entidad con identidad propia se denomina encapsulamiento.

16.3. 3. Modularidad

16.3.1. Es la propiedad que hace posible la división de un programa en paquetes o componentes autónomos y a la vez relacionados y con capacidad de compilarse por separado

16.4. 4. Ocultación

16.4.1. la propiedad de la ocultación o aislamiento hace posible que los objetos oculten detalles de declaración de datos e implementación de métodos

16.5. 5. Polimorfismo

16.5.1. Consiste en múltiples comportamientos de objetos cuando se invoca a un mismo método en distintos contextos.

16.6. 6. Herencia

16.6.1. es quizá la propiedad más importante, debido a que es posible implementar jerarquías de clases de objetos con propósito de reutilización de código y creación de programas extensos.

16.7. 7. Recolección de basura

16.7.1. garbage collector o recolección de basura es el procedimiento para destruir automáticamente los objetos que ya no posean ninguna referencia y desvincularlos de la memoria asignada.

17. Soporte de la p.o.o. en java

17.1. es un lenguaje orientado a objetos, puro y, soporta casi todos los conceptos de programación orientada a objetos, como por ejemplo: objeto, clase, método, dato (variable miembro), mensaje, herencia, polimorfismo, encapsulamiento

18. Diagramas de clases con uml (lenguaje unificado de modelado)

18.1. UML

18.1.1. es un conjunto de herramientas, que permite modelar (analizar y diseñar) sistemas orientados a objetos.

18.2. Diagrama de clases

18.2.1. Un diagrama de clases representa las clases que serán utilizadas dentro del sistema y las relaciones que existen entre ellas.

19. Elementos del diagrama de clases:

19.1. El componente clase:

19.1.1. Una clase es considerada una plantilla para instanciar o crear objetos.

19.2. Las relaciones entre clases:

19.2.1. Relación de Herencia

19.2.1.1. Una clase puede derivarse de otra clase base, heredando datos y métodos públicos, protegidos y de paquete.

19.3. Relación de Agregación:

19.3.1. Relación de Asociación:

19.3.1.1. es una relación fuerte, es para objetos que colaboran con otros objetos.

20. La Cardinalidad entre clases.

20.1. Herramientas de Modelado uml.

20.1.1. Propietarias o de costo: - Microsoft Visio - Rational Rose - Enterprise Architect - Visual Paradigm Open Source: - Argouml - Staruml - Poseidon