Programación Orientada a Objeto y Java

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

Transcript of Programación Orientada a Objeto y Java

Page 1: Programación Orientada a Objeto y Java

POO

Origen y Concepto

sObjeto

Clase

UML Características

Programación Orientada a Objeto (POO)

Page 2: Programación Orientada a Objeto y Java

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 predeceso

res

• 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 objetos

Es Percibir

Page 3: Programación Orientada a Objeto y Java

Programación Orientada a Objeto (POO)

Paradigma

Utiliza 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: Programación Orientada a Objeto y Java

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

Page 5: Programación Orientada a Objeto y Java

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• Varia

bles

Paradigma POO• Obj

etos

Relación con otros paradigmas

Componentes

Page 6: Programación Orientada a Objeto y Java

Definición de Clase

Clase: Auto

El auto de

Laura

El auto de Luis

Mi auto

Conjunto de Objetos

Estructura y comportamient

os

Que Comparten

Clase

Es

Abstracción

Representa

DeSon

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: Programación Orientada a Objeto y Java

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 Construyen

do

Descubrir oportunidad

es 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: Programación Orientada a Objeto y Java

Diagramas UMLDiagramas UML

Diagrama sde Estructuras

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: Programación Orientada a Objeto y Java

Diagramas UML más utilizadosClases

Estático que describe la estructura de un sistema

Sirve para visualizar las relaciones entre las clases

Esta compuesto por Clases, relaciones

Page 10: Programación Orientada a Objeto y Java

Diagrama de Clases y relaciones

Generalización /Herencia

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

• La subclase posee sus propios métodos y atributos

Dependencia

• 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

Agregación

• 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

Asociación

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

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

• No es una relación fuerte

Cliente 1 *

VentanaAplicación1 *

Orden de Compra

Automóvil Ventana

AplicaciónBase de Datos

Código

Page 11: Programación Orientada a Objeto y Java

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 Oak debido 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 Microsyste

ms

• Relacionado con el desarrollo de Microprocesadores

• Permitió la masificación de las computadoras personales

Microprocesadores

Historia

JavaLenguaje

Moderno y de alto nivelEs un

Sun Microsystems

en 1995Presentado por

NeutralidadProgramas a Páginas Web

Lo que permite añadir

Su

Page 12: Programación Orientada a Objeto y Java

Lenguaje Simple

Es Orientado a Objet

o

Distribuido

RobustoSeguroPortable

Indiferente a

la arquitectura

Dinámico

Tiene Alto

Rendimient

o

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: Programación Orientada a Objeto y Java

Programa Java

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: Programación Orientada a Objeto y Java

Errores comunes en la programaciónErrores 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