Programación Orientada Objetos Java Unidad 1
-
Upload
gustavo-alejandro-galindo-rosales -
Category
Technology
-
view
1.361 -
download
1
description
Transcript of Programación Orientada Objetos Java Unidad 1
![Page 2: Programación Orientada Objetos Java Unidad 1](https://reader035.fdocument.pub/reader035/viewer/2022081502/557b1f48d8b42a4e048b466b/html5/thumbnails/2.jpg)
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](https://reader035.fdocument.pub/reader035/viewer/2022081502/557b1f48d8b42a4e048b466b/html5/thumbnails/3.jpg)
Introducción alParadigma de la
Programación Orientadoa Objetos.
UNIDAD 1
3
![Page 4: Programación Orientada Objetos Java Unidad 1](https://reader035.fdocument.pub/reader035/viewer/2022081502/557b1f48d8b42a4e048b466b/html5/thumbnails/4.jpg)
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](https://reader035.fdocument.pub/reader035/viewer/2022081502/557b1f48d8b42a4e048b466b/html5/thumbnails/5.jpg)
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](https://reader035.fdocument.pub/reader035/viewer/2022081502/557b1f48d8b42a4e048b466b/html5/thumbnails/6.jpg)
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](https://reader035.fdocument.pub/reader035/viewer/2022081502/557b1f48d8b42a4e048b466b/html5/thumbnails/7.jpg)
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](https://reader035.fdocument.pub/reader035/viewer/2022081502/557b1f48d8b42a4e048b466b/html5/thumbnails/8.jpg)
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](https://reader035.fdocument.pub/reader035/viewer/2022081502/557b1f48d8b42a4e048b466b/html5/thumbnails/9.jpg)
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](https://reader035.fdocument.pub/reader035/viewer/2022081502/557b1f48d8b42a4e048b466b/html5/thumbnails/10.jpg)
10
Clases e Instancias
Un Objeto Camisa es una instancia de la Clase Camisa
![Page 11: Programación Orientada Objetos Java Unidad 1](https://reader035.fdocument.pub/reader035/viewer/2022081502/557b1f48d8b42a4e048b466b/html5/thumbnails/11.jpg)
11
Clase abstracta
Clases e Instancias
![Page 12: Programación Orientada Objetos Java Unidad 1](https://reader035.fdocument.pub/reader035/viewer/2022081502/557b1f48d8b42a4e048b466b/html5/thumbnails/12.jpg)
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](https://reader035.fdocument.pub/reader035/viewer/2022081502/557b1f48d8b42a4e048b466b/html5/thumbnails/13.jpg)
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](https://reader035.fdocument.pub/reader035/viewer/2022081502/557b1f48d8b42a4e048b466b/html5/thumbnails/14.jpg)
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](https://reader035.fdocument.pub/reader035/viewer/2022081502/557b1f48d8b42a4e048b466b/html5/thumbnails/15.jpg)
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](https://reader035.fdocument.pub/reader035/viewer/2022081502/557b1f48d8b42a4e048b466b/html5/thumbnails/16.jpg)
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](https://reader035.fdocument.pub/reader035/viewer/2022081502/557b1f48d8b42a4e048b466b/html5/thumbnails/17.jpg)
17
• Jerarquía. rango de abstracciones
Jerarquías
![Page 18: Programación Orientada Objetos Java Unidad 1](https://reader035.fdocument.pub/reader035/viewer/2022081502/557b1f48d8b42a4e048b466b/html5/thumbnails/18.jpg)
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](https://reader035.fdocument.pub/reader035/viewer/2022081502/557b1f48d8b42a4e048b466b/html5/thumbnails/19.jpg)
19
• Concurrencia. diferentes objetos pueden estar ejecutándose al mismo tiempo
Concurrencia
![Page 20: Programación Orientada Objetos Java Unidad 1](https://reader035.fdocument.pub/reader035/viewer/2022081502/557b1f48d8b42a4e048b466b/html5/thumbnails/20.jpg)
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](https://reader035.fdocument.pub/reader035/viewer/2022081502/557b1f48d8b42a4e048b466b/html5/thumbnails/21.jpg)
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](https://reader035.fdocument.pub/reader035/viewer/2022081502/557b1f48d8b42a4e048b466b/html5/thumbnails/22.jpg)
22
Ejercicio
![Page 23: Programación Orientada Objetos Java Unidad 1](https://reader035.fdocument.pub/reader035/viewer/2022081502/557b1f48d8b42a4e048b466b/html5/thumbnails/23.jpg)
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](https://reader035.fdocument.pub/reader035/viewer/2022081502/557b1f48d8b42a4e048b466b/html5/thumbnails/24.jpg)
24
Lenguaje de modelado unificado
![Page 25: Programación Orientada Objetos Java Unidad 1](https://reader035.fdocument.pub/reader035/viewer/2022081502/557b1f48d8b42a4e048b466b/html5/thumbnails/25.jpg)
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](https://reader035.fdocument.pub/reader035/viewer/2022081502/557b1f48d8b42a4e048b466b/html5/thumbnails/26.jpg)
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](https://reader035.fdocument.pub/reader035/viewer/2022081502/557b1f48d8b42a4e048b466b/html5/thumbnails/27.jpg)
27
interface Dibujable {}
public class Cuadrado implements Dibujable {}
Implementación
Lenguaje de modelado unificado
![Page 28: Programación Orientada Objetos Java Unidad 1](https://reader035.fdocument.pub/reader035/viewer/2022081502/557b1f48d8b42a4e048b466b/html5/thumbnails/28.jpg)
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](https://reader035.fdocument.pub/reader035/viewer/2022081502/557b1f48d8b42a4e048b466b/html5/thumbnails/29.jpg)
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](https://reader035.fdocument.pub/reader035/viewer/2022081502/557b1f48d8b42a4e048b466b/html5/thumbnails/30.jpg)
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](https://reader035.fdocument.pub/reader035/viewer/2022081502/557b1f48d8b42a4e048b466b/html5/thumbnails/31.jpg)
31
¿Clases con clases?
xx¿Clases con Interfaces?
x
Lenguaje de modelado unificado
![Page 32: Programación Orientada Objetos Java Unidad 1](https://reader035.fdocument.pub/reader035/viewer/2022081502/557b1f48d8b42a4e048b466b/html5/thumbnails/32.jpg)
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](https://reader035.fdocument.pub/reader035/viewer/2022081502/557b1f48d8b42a4e048b466b/html5/thumbnails/33.jpg)
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](https://reader035.fdocument.pub/reader035/viewer/2022081502/557b1f48d8b42a4e048b466b/html5/thumbnails/34.jpg)
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](https://reader035.fdocument.pub/reader035/viewer/2022081502/557b1f48d8b42a4e048b466b/html5/thumbnails/35.jpg)
35
Lenguaje de modelado unificadoEjercicio1:
![Page 36: Programación Orientada Objetos Java Unidad 1](https://reader035.fdocument.pub/reader035/viewer/2022081502/557b1f48d8b42a4e048b466b/html5/thumbnails/36.jpg)
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](https://reader035.fdocument.pub/reader035/viewer/2022081502/557b1f48d8b42a4e048b466b/html5/thumbnails/37.jpg)
37
Lenguaje de modelado unificadoEjercicio2:
![Page 38: Programación Orientada Objetos Java Unidad 1](https://reader035.fdocument.pub/reader035/viewer/2022081502/557b1f48d8b42a4e048b466b/html5/thumbnails/38.jpg)
38
Lenguaje de modelado unificado
![Page 39: Programación Orientada Objetos Java Unidad 1](https://reader035.fdocument.pub/reader035/viewer/2022081502/557b1f48d8b42a4e048b466b/html5/thumbnails/39.jpg)
39
Lenguaje de modelado unificado
![Page 40: Programación Orientada Objetos Java Unidad 1](https://reader035.fdocument.pub/reader035/viewer/2022081502/557b1f48d8b42a4e048b466b/html5/thumbnails/40.jpg)
40
Lenguaje de modelado unificado
![Page 41: Programación Orientada Objetos Java Unidad 1](https://reader035.fdocument.pub/reader035/viewer/2022081502/557b1f48d8b42a4e048b466b/html5/thumbnails/41.jpg)
41
Lenguaje de modelado unificado
![Page 42: Programación Orientada Objetos Java Unidad 1](https://reader035.fdocument.pub/reader035/viewer/2022081502/557b1f48d8b42a4e048b466b/html5/thumbnails/42.jpg)
42
Lenguaje de modelado unificado
![Page 43: Programación Orientada Objetos Java Unidad 1](https://reader035.fdocument.pub/reader035/viewer/2022081502/557b1f48d8b42a4e048b466b/html5/thumbnails/43.jpg)
43
Lenguaje de modelado unificado
![Page 44: Programación Orientada Objetos Java Unidad 1](https://reader035.fdocument.pub/reader035/viewer/2022081502/557b1f48d8b42a4e048b466b/html5/thumbnails/44.jpg)
44
Lenguaje de modelado unificado
![Page 45: Programación Orientada Objetos Java Unidad 1](https://reader035.fdocument.pub/reader035/viewer/2022081502/557b1f48d8b42a4e048b466b/html5/thumbnails/45.jpg)
45
Lenguaje de modelado unificado