Programación Orientada Objetos Java Unidad 1

45
Programación Orientada a Objetos MCA Gustavo Alejandro Galindo Rosales Verano 2013 [email protected] 1

description

Paradigma Orientación a Objetos UML

Transcript of Programación Orientada Objetos Java Unidad 1

Page 1: Programación Orientada Objetos Java Unidad 1

1

Programación Orientada a ObjetosMCA Gustavo Alejandro Galindo RosalesVerano [email protected]

Page 2: Programación Orientada Objetos Java Unidad 1

2

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

Page 3: Programación Orientada Objetos Java Unidad 1

Introducción alParadigma de la

Programación Orientadoa Objetos.

UNIDAD 1

3

Page 4: Programación Orientada Objetos Java Unidad 1

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.

Page 5: Programación Orientada Objetos Java Unidad 1

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.

Page 6: Programación Orientada Objetos Java Unidad 1

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.

Page 7: Programación Orientada Objetos Java Unidad 1

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.

Page 8: Programación Orientada Objetos Java Unidad 1

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.

Page 9: Programación Orientada Objetos Java Unidad 1

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.

Page 10: Programación Orientada Objetos Java Unidad 1

10

Clases e Instancias

Un Objeto Camisa es una instancia de la Clase Camisa

Page 11: Programación Orientada Objetos Java Unidad 1

11

Clase abstracta

Clases e Instancias

Page 12: Programación Orientada Objetos Java Unidad 1

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

Page 13: Programación Orientada Objetos Java Unidad 1

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

Page 14: Programación Orientada Objetos Java Unidad 1

14

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

Abstracción

Page 15: Programación Orientada Objetos Java Unidad 1

15

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

Encapsulamiento

Page 16: Programación Orientada Objetos Java Unidad 1

16

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

Modularidad

Page 17: Programación Orientada Objetos Java Unidad 1

17

• Jerarquía. rango de abstracciones

Jerarquías

Page 18: Programación Orientada Objetos Java Unidad 1

18

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

Tipo

Page 19: Programación Orientada Objetos Java Unidad 1

19

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

Concurrencia

Page 20: Programación Orientada Objetos Java Unidad 1

20

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

Persistencia

Page 21: Programación Orientada Objetos Java Unidad 1

21

Enca

psul

ació

n

Abst

racc

ión

Her

enci

a

Polim

orfis

mo

Programación Orientada a Objetos

Pilares de la POO

Page 22: Programación Orientada Objetos Java Unidad 1

22

Ejercicio

Page 23: Programación Orientada Objetos Java Unidad 1

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

Page 24: Programación Orientada Objetos Java Unidad 1

24

Lenguaje de modelado unificado

Page 25: Programación Orientada Objetos Java Unidad 1

25

Nombre

Atributos

Métodos

Clase concreta

Clase abstracta Interfaz

+ público- privado

Métodosabstractos

Lenguaje de modelado unificado

Page 26: Programación Orientada Objetos Java Unidad 1

26

Generalización (Herencia)

public class Figura {}

public class Cuadrado extends Figura {}

public class Triangulo extends Figura {}

Lenguaje de modelado unificado

Page 27: Programación Orientada Objetos Java Unidad 1

27

interface Dibujable {}

public class Cuadrado implements Dibujable {}

Implementación

Lenguaje de modelado unificado

Page 28: Programación Orientada Objetos Java Unidad 1

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

Page 29: Programación Orientada Objetos Java Unidad 1

29

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

public class Curso { public Estudiantes tiene[];}

Lenguaje de modelado unificado

Page 30: Programación Orientada Objetos Java Unidad 1

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

Page 31: Programación Orientada Objetos Java Unidad 1

31

¿Clases con clases?

xx¿Clases con Interfaces?

x

Lenguaje de modelado unificado

Page 32: Programación Orientada Objetos Java Unidad 1

32

¿Interfaces con Interfaces?

xMixtas

public class ClaseA extends Clase B implements InterfaceC {}

Lenguaje de modelado unificado

Page 33: Programación Orientada Objetos Java Unidad 1

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

Page 34: Programación Orientada Objetos Java Unidad 1

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.

Page 35: Programación Orientada Objetos Java Unidad 1

35

Lenguaje de modelado unificadoEjercicio1:

Page 36: Programación Orientada Objetos Java Unidad 1

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.

Page 37: Programación Orientada Objetos Java Unidad 1

37

Lenguaje de modelado unificadoEjercicio2:

Page 38: Programación Orientada Objetos Java Unidad 1

38

Lenguaje de modelado unificado

Page 39: Programación Orientada Objetos Java Unidad 1

39

Lenguaje de modelado unificado

Page 40: Programación Orientada Objetos Java Unidad 1

40

Lenguaje de modelado unificado

Page 41: Programación Orientada Objetos Java Unidad 1

41

Lenguaje de modelado unificado

Page 42: Programación Orientada Objetos Java Unidad 1

42

Lenguaje de modelado unificado

Page 43: Programación Orientada Objetos Java Unidad 1

43

Lenguaje de modelado unificado

Page 44: Programación Orientada Objetos Java Unidad 1

44

Lenguaje de modelado unificado

Page 45: Programación Orientada Objetos Java Unidad 1

45

Lenguaje de modelado unificado