programación orientada objetos java unidad 1
DESCRIPTION
Paradigma Orientación a Objetos UMLTRANSCRIPT
1
Programación Orientada a ObjetosMCA Gustavo Alejandro Galindo RosalesVerano [email protected]
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