Horario: 3:00 PM – 7:00PM -...

25
Programación en Java Horario: 3:00 PM – 7:00PM

Transcript of Horario: 3:00 PM – 7:00PM -...

Programación en Java

Horario: 3:00 PM – 7:00PM

Programación en Java

TemarioTemario

�Lección 1: Orientación a objetos�Lección 2: Creando una aplicación Java�Lección 3: Creando Clases�Lección 4: Programando en OO�Lección 4: Programando en OO�Lección 5: Manejo de excepciones�Lección 6: Usando Collections

Lección 1: Orientación a objetos

1. Definiciones básicas

Programación en Java

ObjetivosObjetivos

�Conocer los conceptos básicos necesarios para entender el paradigma de orientación a objetos

�Definir las características que definen a la �Definir las características que definen a la orientación a objetos.

Programación en Java

Definiciones BásicasDefiniciones Básicas

�La orientación a objetos cuenta con cuatro características:�Abstracción�Encapsulamiento�Encapsulamiento�Herencia�Polimorfismo

Programación en Java

AbstracciónAbstracción

�Es una simplificación o modelo de un concepto complejo, proceso o una objeto del mundo real.

�La abstracción nos permite simplificar nuestro �La abstracción nos permite simplificar nuestro entendimiento del mundo así que ese entendimiento es practico sin llegar a abrumarnos

Programación en Java

AbstracciónAbstracción

�Una buena abstracción nos permite acentuar las características y comportamiento relevante de algún objeto, el cual puede ser muy complejo para entenderlo por lo completo.para entenderlo por lo completo.

Programación en Java

AbstracciónAbstracción

�¿En que nos ayuda la abstracción?�Nos permite entender cual es la interacción de un

conjunto de partes que conforma un modelo de mayor escala.

�En la orientación a objetos a ese conjunto de partes se les conoce como objetos.

Programación en Java

EncapsulamientoEncapsulamiento

�Especifica los datos y el comportamiento lógico que se encuentra oculto en un objeto.

�El encapsulamiento nos permite hacer sistemas �El encapsulamiento nos permite hacer sistemas o componentes mas comprensibles, reusables y extendibles.

Programación en Java

Encapsulamiento VS AbstracciónEncapsulamiento VS Abstracción

�El encapsulamiento puede considerarse lo opuesto de la abstracción. �La abstracción remarca los aspectos importantes de

un objeto

�El encapsulamiento oculta los detalles internos de un objeto

Programación en Java

ObjetosObjetos

�Son la llave para entender la orientación a objetos.

�Los objetos en software son modelados partiendo de que los objetos de la realidad tienen estado y comportamiento.comportamiento.

�Por ejemplo: Un perro tiene un tiene estado (nombre, color, raza) y comportamiento (ladrar, traer el periódico, mover la cola ).

Programación en Java

ObjetosObjetos

�Los objetos en software mantienen su estado en una o más variables y su comportamiento lo implementan en métodosimplementan en métodos

Programación en Java

ClasesClases

�Una clase es un conjunto de objetos que tienen algo en común.

�Una clase captura una abstracción particular y �Una clase captura una abstracción particular y provee una platilla para la creación de objetos.

Programación en Java

InterfazInterfaz

�Define un conjunto de comportamientos relacionados, pero no especifica la implementación del comportamiento.

�Mas específicamente una interfaz especifica la firma de uno o más métodos, los cuales incluyen parámetros, tipo de retorno y excepciones.

Programación en Java

Clases e InterfacesClases e Interfaces

�Las interfaces definen la abstracción, sin tomar en cuenta los detalles de implementación. Es decir una interfaz define el comportamiento, mientras que la clase lo hace real.mientras que la clase lo hace real.

�Una clase realiza una interfaz si implementa todos los métodos de la interfaz.

Programación en Java

HerenciaHerencia

�Es la acción en la que una clase obtiene el comportamiento y atributos definidos en otra clase.

�A la clase de la que se hereda se le denomina superclase y la clase de la que hereda se le conoce subclase

Programación en Java

PolimorfismoPolimorfismo

�En orientación a objetos se refiere a las múltiples implementaciones de una simple abstracción. La abstracción es capturada en clases e interfaces.clases e interfaces.

�Así, el polimorfismo puede existir teniendo varias clases que hereden de una clase base o realicen una interfaz

Programación en Java

Beneficios del polimorfismoBeneficios del polimorfismo

�El polimorfismo tiene dos beneficios principales� Permite flexibilidad ilimitada en la ejecución de un sistema. Es

decir diferentes implementaciones de una abstracción pueden ser mezcladas en tiempo de ejecución para obtener comportamientos interesantes.

� El sistema puede ser extensible fácilmente. Si la abstracción del sistema no cambia nuevas implementaciones pueden ser agregadas sin modificar el código que depende de una interfase

Programación en Java

EjemploEjemplo

�Utilizando interfaces podemos cambiar el tipo de conexión rápidamente sólo cambiando la referencia a la interfaz Conexion

ConexionMySQL

c onect ar() : Connec tionc errarConexion()

ConexionPostgreSQL

conectar()cerrarConexion()

Objeto de acceso a datos

Conexion base de datos

conectar() : ConnectioncerrarConexion()

<<Interface>>

<<realiza>> <<realiza>>

+*+1

Programación en Java

Relaciones entre objetosRelaciones entre objetos

�Existen cuatro tipos de relaciones entre objetos:�Dependencia. �Asociación. �Agregación�Agregación�Composición

Programación en Java

DependenciaDependencia

�Es una asociación de corto plazo y se presenta cuando un objeto invoca métodos de otro objeto, con el fin de obtener un servicio de el.

�Ejemplo: Cuando compramos algo en el supermercado dependemos de un cajero, más sin embargo no es una relación a largo plazo

Programación en Java

AsociaciónAsociación

�Es una asociación a largo plazo y en esta relación un objeto mantiene la referencia hacia otro objeto y puede llamarla cada vez que lo necesite.necesite.

�Ejemplo: Consideremos una persona y su automóvil, mientras la persona recuerde donde está, puede tomar su auto y este lo llevará a donde necesite ir.

Programación en Java

AgregaciónAgregación

�Indica que un objeto es parte de uno de mayor tamaño.

�El objeto puede pertenecer a una o más relaciones de agregación.relaciones de agregación.

�El objeto existe independientemente del de mayor tamaño.

�Ejemplo: Un desarrollador, puede pertenecer a dos equipos de desarrollo.

Programación en Java

ComposiciónComposición

� Indica que un objeto está contenido en uno de mayor tamaño.

�El objeto contenido sólo puede participar en una relación de composición.

�No existe independientemente del objeto de mayor �No existe independientemente del objeto de mayor tamaño

�Ejemplo: Los botones de una calculadora, estos sólo pueden pertenecer a una calculadora y si ésta se descompone no es factible quitarlos.

Programación en Java

ResumenResumen

�En esta lección se aprendió a:�Relacionar los conceptos de la orientación a objetos.

�Diferenciar una clase y una interfaz y cual es la �Diferenciar una clase y una interfaz y cual es la finalidad de cada una de ellas.

�Reconocer las relaciones que se manifiestan en la orientación a objetos.