Programación Orientada Objetos Java Unidad 1

Post on 13-Jun-2015

1.361 views 1 download

description

Paradigma Orientación a Objetos UML

Transcript of Programación Orientada Objetos Java Unidad 1

1

Programación Orientada a ObjetosMCA Gustavo Alejandro Galindo RosalesVerano 2013igusi_soft@hotmail.com

2

Forma de EvaluaciónExámenes (cada viernes) 70%Ejercicios y Tareas 30%Asistencia 10%Total 110%

Introducción alParadigma de la

Programación Orientadoa Objetos.

UNIDAD 1

3

4

Examen Diagnostico (1 hora)Realizar un programa con ciclos en java que imprima el siguiente triangulo:

* ** *** *********

Escriba un programa que convierta un número decimal a hexadecimal. El cambio de base se realiza mediante divisiones sucesivas por 16 las cuales el resto determinan los dígitos hexadecimales.

5

Paradigma de la Programación Orientada a Objetos

Paradigma. Según el Diccionario de la Real Academia de la Lengua Española, paradigma se define como “Cada uno de los esquemas formales en que se organizan las palabras nominales y verbales para sus respectivas flexiones.” . En el ámbito de la programación paradigma es una técnica de programación.

6

Paradigma de la Programación Orientada a Objetos

Paradigma de la Programación EstructuradaEn los años sesenta, Edsger Dijkstra demostró que todo programa podía escribirse correctamente combinando tres bloques de control: bloques secuenciales, el bloque de selección if y el bloque de repetición. En la programación estructurada un problema se divide en tareas más pequeñas llamadas procesos, los cuales se pueden distribuir varios programadores para llegar a una solución de forma rápida y eficiente. La programación estructurada es un mecanismo para hacer programas más comprensibles, evitando hacer saltos de una parte del programa a otra, lo que facilita la lectura del código en forma continua.

7

Paradigma de la Programación Orientada a Objetos

Paradigma de la Programación Estructurada

La Programación estructurada se concentra en las acciones que controlan el flujo de datos.

8

Paradigma de la Programación Orientada a Objetos

Paradigma de la Programación Orientada a ObjetosEs un modelo de programación cuya idea principal es mediante descomponer un problema en entidades de software llamadas objetos. La Programación Orientada a Objetos trata de aproximar la programación a la vida real.

9

Paradigma de la Programación Orientada a Objetos

La POO se centra en la interrelación que existe entre los datos y las acciones.

10

Clases e Instancias

Un Objeto Camisa es una instancia de la Clase Camisa

11

Clase abstracta

Clases e Instancias

12

• Un objeto es algo tangible o intangible con esencia propia• En el mundo real los objetos comparten características

como: – Atributos (color, tamaño, identificador, etc.)– Operaciones (prender, apagar, cambiar de velocidad, aplicar

frenos, etc.)

Objetos

13

• Atributos. (características de un objeto)– Datos – Propiedades– Características

• Operaciones o funcionalidades. (acciones a realizar)– Propias– Servicios a otros objetos

Atributos y Operaciones

14

• Abstracción. denota las características esenciales de un objeto que lo distingue de otros

Abstracción

15

• Encapsulación. proceso de compactar y ocultar los elementos de una abstracción incluyendo su estructura y comportamiento

Encapsulamiento

16

• Modularidad. capacidad de un sistema que ha sido dividido en módulos cohesivos y débilmente acoplados

Modularidad

17

• Jerarquía. rango de abstracciones

Jerarquías

18

• Tipo. características únicas de un conjunto de objetos, tal que objetos de diferentes tipos no pueden ser intercambiados.

Tipo

19

• Concurrencia. diferentes objetos pueden estar ejecutándose al mismo tiempo

Concurrencia

20

• Persistencia: propiedad de un objeto la cual le permite trascender a través del tiempo

Persistencia

21

Enca

psul

ació

n

Abst

racc

ión

Her

enci

a

Polim

orfis

mo

Programación Orientada a Objetos

Pilares de la POO

22

Ejercicio

23

• Lenguaje de modelado Universal• Notación de modelado• Creada por Booch-Rumbaugh-Jacobson• Usa diagramas• Diferentes diagramas para distintos modelos

Importante. mantener flexibilidad y sencillez

Lenguaje de modelado unificado

24

Lenguaje de modelado unificado

25

Nombre

Atributos

Métodos

Clase concreta

Clase abstracta Interfaz

+ público- privado

Métodosabstractos

Lenguaje de modelado unificado

26

Generalización (Herencia)

public class Figura {}

public class Cuadrado extends Figura {}

public class Triangulo extends Figura {}

Lenguaje de modelado unificado

27

interface Dibujable {}

public class Cuadrado implements Dibujable {}

Implementación

Lenguaje de modelado unificado

28

A está asociado a un B yB está asociado a un A

A está asociado a m B yB está asociado a n A

NavegaciónA está asociado a un BB no sabe de A

Multiplicidad

* 0 o muchos1..* 1 o muchos5 Exactamente 51..10 Entre 1 y 10

Lenguaje de modelado unificado

29

public class Estudiante { public Curso Inscrito[4];}

public class Curso { public Estudiantes tiene[];}

Lenguaje de modelado unificado

30

Un automóvil está compuesto del motor y la transmisión óEl motor y la transmisión son parte del automóvil

Composición. Agregación.

Una bolsa tiene leche y manzanas

Lenguaje de modelado unificado

31

¿Clases con clases?

xx¿Clases con Interfaces?

x

Lenguaje de modelado unificado

32

¿Interfaces con Interfaces?

xMixtas

public class ClaseA extends Clase B implements InterfaceC {}

Lenguaje de modelado unificado

33

Cuadrado a = new Cuadrado();

// Principio “Program to an interface”

Dibujable b = new Cuadrado();

Dibujable c = new Rectangulo();

//Ejemplos

public class Plano {

public void agregar(Dibujable fig) {

}

}

public static void main(String [] args) {

Cuadrado cuad = new Cuadrado();

Plano p = new Plano();

p.agregarFigura(cuad);

}

// Otro ejemplo

public Dibujable getElemento() {

Circulo c = new Circulo();

return c;

}

Lenguaje de modelado unificado

34

Lenguaje de modelado unificadoEjercicio1:Representa mediante un diagrama de clases la siguiente especificación:o Una aplicación necesita almacenar información sobre

empresas, sus empleados y sus clientes.o Ambos se caracterizan por su nombre y edad.o Los empleados tienen un sueldo bruto, los empleados que son

directivos tienen una categoría, así como un conjunto de empleados subordinados.

o De los clientes además se necesita conocer su teléfono de contacto.

o La aplicación necesita mostrar los datos de empleados y clientes.

35

Lenguaje de modelado unificadoEjercicio1:

36

Lenguaje de modelado unificadoEjercicio2:Una biblioteca tiene copias de libros. Estos últimos se caracterizan por su nombre, tipo (novela, teatro, poesía, ensayo), editorial, año y autor.o Los autores se caracterizan por su nombre, nacionalidad y fecha de

nacimiento.o Cada copia tiene un identificador, y puede estar en la biblioteca,

restada, con retraso o en reparación.o Los lectores pueden tener un máximo de 3 libros en préstamo.o Cada libro se presta un máximo de 30 días, por cada día de retraso,

se impone una “multa” de dos días sin posibilidad de coger un nuevo libro.

o Realiza un diagrama de clases y añade los métodos necesarios para realizar el préstamo y devolución de libros.

37

Lenguaje de modelado unificadoEjercicio2:

38

Lenguaje de modelado unificado

39

Lenguaje de modelado unificado

40

Lenguaje de modelado unificado

41

Lenguaje de modelado unificado

42

Lenguaje de modelado unificado

43

Lenguaje de modelado unificado

44

Lenguaje de modelado unificado

45

Lenguaje de modelado unificado