Introducción a la Programación Orientada a Objetos

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

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

1.1. Lenguaje Máquina.

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

1.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.

1.2. Lenguaje Ensamblador

1.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.

1.3. Lenguajes de Alto Nivel

1.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.

2. Objetos o entidades reales

2.1. Objetos físicos

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

2.2. Objetos Lógicos

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

3. Procesos de abstracción e instanciación

3.1. Abstracción

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

3.2. Instanciación

3.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.

4. La poo frente a la programación tradicional

4.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.

5. Conceptos orientados a objetos

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

6. Objeto

6.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).

7. Mensaje

7.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.

8. La herencia es útil por dos motivos:

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

8.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.

8.2. b) Creación de programas extensibles

8.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.

9. La Cardinalidad entre clases.

9.1. Herramientas de Modelado uml.

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

10. Objetivos

10.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

11. Técnicas de programación

11.1. Programación Secuencial o Lineal

11.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

11.2. Programación modular

11.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.

11.3. Programación estructurada

11.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)

11.4. Programación Orientada a Objetos

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

11.5. Programación Visual

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

12. La programación tradicional

12.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.

13. Programación orientada a objetos (poo)

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

14. Clase

14.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.

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

15.1. Los datos

15.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).

15.2. Los métodos

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

16. Herencia

16.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.

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

17.1. 1. Abstracción

17.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.

17.2. 2. Encapsulamiento

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

17.3. 3. Modularidad

17.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

17.4. 4. Ocultación

17.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

17.5. 5. Polimorfismo

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

17.6. 6. Herencia

17.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.

17.7. 7. Recolección de basura

17.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.

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

18.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

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

19.1. UML

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

19.2. Diagrama de clases

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

20. Elementos del diagrama de clases:

20.1. El componente clase:

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

20.2. Las relaciones entre clases:

20.2.1. Relación de Herencia

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

20.3. Relación de Agregación:

20.3.1. Relación de Asociación:

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