14
POO Origen y Conceptos Objeto Clase UML Características Programación Orientada a Objeto (POO)

Programacion 1 primera unidad

Embed Size (px)

Citation preview

Page 1: Programacion 1 primera unidad

POO

Origen y Conceptos

Objeto

ClaseUML

Características

Programación Orientada a Objeto (POO)

Page 2: Programacion 1 primera unidad

Programación Orientada a Objeto (POO)

•Debido a su influencia se convirtió en un de un paradigma de programación dominante a mediado de los 80’s

C++

•Se creó en los años 70

Nacimiento

•SmallTalk

•C++

•Java

•C#

Lenguajes predecesores

•Desarrollado por Krysten Nygaard y Ole Johan Dahl

•Fue creado a mediados de los años 60 en el centro de computación Noruego

•Fue un lenguaje de orientado a simulación de procesos

•Aparecen por primera vez el término Objeto y Clase

Basado en Simula

Orden Cronológico

Paradigma Orientado a

ObjetoProgramación

Representa la evolución natural de

Forma en que un hombre

trabajaSimula la

Concepción Básica

El mundo como un conjunto de

objetosEs Percibir

Page 3: Programacion 1 primera unidad

Programación Orientada a Objeto (POO)

ParadigmaUtiliza Objetos y sus interacciones

Utilizado para diseñar aplicaciones

y programas de Computadora

Teorías Estándares Modelos

Métodos

Lenguajes Orientados a Objeto

Herencia de

Clases

Basado en

Clases

Basado en

Objetos

Lenguajes Orientados a

Objeto

•Reutilización de Código•Permite crear sistemas más complejos•Relación del sistema con el mundo real•Facilita la creación de programas visuales•Se trabaja mediante la construcción de prototipos•Agiliza el desarrollo del Software•Facilita el trabajo en Equipo•Facilita el mantenimiento del Software

Ventajas

Page 4: Programacion 1 primera unidad

Programación Orientada a Objeto (POO)

Abstracción:

•Generalización conceptual de un determinado conjunto de objetos y de sus atributos y propiedades

•Deja en segundo término los detalles concretos de cada objeto

Polimorfismo:

•Acceso a un grupo de funciones a través de la misma interfaz

•Un identificador puede tener distintas formas (distintos cuerpos de función y comportamiento)

Modularidad

•Propiedad de un sistema descompuesto en un conjunto de módulos cohesivos débilmente acoplados

Encapsulamiento:

•Capacidad de agrupar y condensar en un entorno con límites bien definidos distintos elementos

•Se hace referencia a encapsulamiento abstracto

Herencia:

•Es un tipo de jerarquía aplicada sobre las clases

•Las clases tienen descendencia y heredan atributos de clases “padres” (Superclases)

•Existe la herencia simple y la múltiple

POO

Abstracción

Polimorfismo

ModularidadEncapsulamie

nto

Herencia

Page 5: Programacion 1 primera unidad

Definición de Objeto

Elementos de la vida real

Problema

Objeto

Abstracción

Representa

De En el dominio del

Atributos

•Caracterizan al Objeto

•Variables que almacenan datos relacionados al estado de un objeto

Método

•Caracterizan el comportamiento del objeto

•Hacen posible que el objeto responda a solicitudes externas

•Pueden depender o modificar valores de los atributos

Identidad

•Es lo que le diferencia de los demás objetos

•Esta identidad se crea mediante un identificador

Entidad Real o Abstracta

Representa

Instancia

Clase

De

Es

Objeto

Paradigma Estructurado

•Variables

Paradigma POO

•Objetos

Relación con otros paradigmas

Componentes

Page 6: Programacion 1 primera unidad

Definición de Clase

Clase: Auto

El auto de

Laura

El auto de Luis

Mi auto

Conjunto de Objetos

Estructura y comportamientos

Que Comparten

Clase

Es

Abstracción

Representa

De

Son

Atributos (Estado)

Métodos o Procesos

Clase

Plantilla

De

Instancia

De

Objeto

Es una instancia de la clase

Ya está definido, con características particulares

Clase

Es la definición de un tipo de objeto

Representa la abstracción de las

características de un grupo de objetos

Componentes

Ejemplo

Page 7: Programacion 1 primera unidad

Definición de UML

Conjunto de Objetos

UML (Lenguaje unificado de

modelo)

Es

Sucesor

De

Los diagramas UML permiten:

Lenguaje de

Modelado

Métodos de análisis y diseños

orientados a objeto

De

Es

Especificar, construir y

documentar

Software Orientado a

Objetos

Sirve para

Comunicar la estructura de un

sistema complejo

Especificar el comportamiento

deseado del sistema

Comprender Mejor lo que

estamos Construyendo

Descubrir oportunidades

de simplificación y

Reutilización

Representa los planos de un sistema

El modelo captura lo esencial

Tiene 13 tipos de Diagramas

Es un estándar OMG (Object Management Group)

Características

Page 8: Programacion 1 primera unidad

Diagramas UML

Diagramas UML

Diagrama sdeEstructuras

Diagrama de Clases

Diagrama de Estructura compuesta

Diagrama de Componentes

Diagrama de Despliegue

Diagrama de Objetos

Diagrama de Paquetes

Diagramas de comportamiento

Diagrama de Actividad

Diagrama de Casos de Uso

Diagrama de Máquina de

Estado

Diagramas de Interacción

Diagrama de Secuencia

Diagrama Global de Interacción

Diagrama de comunicación

Diagrama de Tiempo

Clases

Casos de Uso

Secuencia

Colaboración

Estado

Actividad

Los más utilizados

Page 9: Programacion 1 primera unidad

Diagramas UML más utilizados

Clases

Estático que describe la

estructura de un sistema

Sirve para visualizar las

relaciones entre las clases

Esta compuesto por

Clases, relaciones

Actividad

Representa el flujo de control

del Sistema

Se muestra el orden en el que van realizando

tareas

Casos de Uso

Son usados en el modelado del sistema

Se representan acciones que realiza cada

tipo de usuario (desde su

punto de vista

Estado

Describe el comportamiento de un sistema

Reactivo

El comportamient

o del sistema está dirigido por eventos

Denota Estados y transiciones entre estados

Colaboración

Permite la observación de la interacción de un objeto

respecto a los demás

Muestra interacciones organizadas alrededor de

los roles

Es necesario etiquetar la

secuencia de mensajes

Secuencia

Resalta la ordenación

temporal de los mensajes

Se puede transformar

mecánicamente en uno de

colaboración

Page 10: Programacion 1 primera unidad

Diagrama de Clases y relaciones

•Una subclase hereda métodos y atributos especificados por una super clase

•La subclase posee sus propios métodos y atributosGeneralización /Herencia

•Denota la dependencia de una clase con otra

•La clase dependiente se puede ver afectada si sufre cambios la otra clase

•Gráficamente se muestra como una línea discontinua con punta de flecha

Dependencia

•Por valor (composición)

•El elemento destino forma parte del elemento fuente, su relación se rompe cumpliendo restricciones

•Por referencia (agregación)

•El elemento destino forma parte del elemento fuente, su relación se rompe sin restricciones

Agregación

•Asociación estructural que describe conexión entre objetos

•Se muestra gráficamente con una línea continua

•No es una relación fuerteAsociación

Cliente 1 *

VentanaAplicación1 *

Orden de Compra

Automóvil Ventana

Aplicación

Base de Datos

Código

Page 11: Programacion 1 primera unidad

Introducción a Java

•Tuvo problemas en el mercado

•En 1993 se aprovechó la explosión de WWW por su buena capacidad para agregar contenido dinámico

•Se anunció formalmente en 1995

Java

•Fue llamado Oakdebido a que se hacía referencia a un roble al momento de nombrarlo

•Se cambió el nombre de lenguaje al enterarse que ya existía uno con el mismo nombre, ahora se nombró Java en honor a una cafetería local visitada por el grupo

Oak

•Patrocinó en 1991 un proyecto interno de programación llamado Green

•El proyecto patrocinado era un lenguaje de programación basado en C++ llamado Oak

Sun Microsystems

•Relacionado con el desarrollo de Microprocesadores

•Permitió la masificación de las computadoras personales

Microprocesadores

Historia

JavaLenguaje

Moderno y de alto nivelEs un

SunMicrosystems

en 1995Presentado por

NeutralidadProgramas a Páginas Web

Lo que permite añadir

Su

Page 12: Programacion 1 primera unidad

Lenguaje Simple

Es Orientado a

ObjetoDistribuido Robusto Seguro Portable

Indiferente a la

arquitecturaDinámico

Tiene Alto Rendimiento

Máquina Virtual de Java (JVM)

Java

Lenguaje Interpretado

Es un

JVM

Son interpretados por por

Programas Bytecode

Programa Java

Al compilarse produce

Estructura básica de un programa en java

Características de Java

Page 13: Programacion 1 primera unidad

Programa Java

Identificadores

Comentarios

Sentencias

Bloques de Código

Expresiones

Variables

Elementos de un programa en Java

Elementos Características

Identificadores Es el nombre que identifica a una variable, método, función miembro o clase

Comentarios Es un texto adicional que se agrega a un programa para explicar su funcionalidad

Sentencias Es una orden que se le da al programa para ejecutar una acción específica

Bloques de Código

Un grupo de sentencias que comparten una unidad

Expresiones Es todo aquello que se puede poner a la derecha de un operador de asignación

Variable Una variable es un nombre que se asocia con una porción de la memoria del ordenador, en la que se guarda el valor asignado a dicha variable

Page 14: Programacion 1 primera unidad

Errores comunes en la programación

Errores en un programa

Errores Lógicos o semánticos

Ciclos Infinitos

División entre 0

Errores en el algoritmo

Errores Sintáticos

No finalizar una sentencia con un ;

No utilizar la combinación apropiada

de Mayúsculas y minúculas

No utilizar llaves pares