Top Banner
Curso de Java Introducción al Paradigma Orientado a Objetos Prof. Ing. Guido Acosta
47

Curso de Java Introducción al Paradigma Orientado a Objetos Prof. Ing. Guido Acosta.

Jan 24, 2016

Download

Documents

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Curso de Java Introducción al Paradigma Orientado a Objetos Prof. Ing. Guido Acosta.

Curso de Java

Introducción al Paradigma Orientado a

Objetos

Curso de Java

Introducción al Paradigma Orientado a

Objetos

Prof. Ing. Guido Acosta

Page 2: Curso de Java Introducción al Paradigma Orientado a Objetos Prof. Ing. Guido Acosta.

Contenido de la clase

- Conceptos básicos

- Definición de clase

- Fundamentos de la POO - Encapsulamiento

- Constructores y objetos

- Operadores . (punto) y new

Page 3: Curso de Java Introducción al Paradigma Orientado a Objetos Prof. Ing. Guido Acosta.

Orientación a objetos

- Todo es un objeto

- Las clases definen el comportamiento de un conjunto de objetos.

- Un objeto es un caso particular de una clase. Es decir una instancia.

- Cada objeto tiene un estado. (Una memoria que contiene los datos)

- Los objetos se comunican entre sí mediante mensajes

Page 4: Curso de Java Introducción al Paradigma Orientado a Objetos Prof. Ing. Guido Acosta.

Orientación a objetos

Page 5: Curso de Java Introducción al Paradigma Orientado a Objetos Prof. Ing. Guido Acosta.

Orientación a objetos

- Todo es un objeto

- Las clases definen el comportamiento de un conjunto de objetos.

- Un objeto es un caso particular de una clase. Es decir una instancia.

- Cada objeto tiene un estado. (Una memoria que contiene los datos)

- Los objetos se comunican entre sí mediante mensajes.

Page 6: Curso de Java Introducción al Paradigma Orientado a Objetos Prof. Ing. Guido Acosta.

Orientación a objetos

Page 7: Curso de Java Introducción al Paradigma Orientado a Objetos Prof. Ing. Guido Acosta.

Orientación a objetos

ElectrodomésticoVehículo

Animal Figura

Page 8: Curso de Java Introducción al Paradigma Orientado a Objetos Prof. Ing. Guido Acosta.

Orientación a objetos

- Todo es un objeto

- Las clases definen el comportamiento de un conjunto de objetos.

- Un objeto es un caso particular de una clase. Es decir una instancia.

- Cada objeto tiene un estado. (Una memoria que contiene los datos)

- Los objetos se comunican entre sí mediante mensajes.

Page 9: Curso de Java Introducción al Paradigma Orientado a Objetos Prof. Ing. Guido Acosta.

Orientación a objetosFigura

círculo: Objeto de la clase Figura

triángulo: Objeto de la clase Figura

cuadrado: Objeto de la clase Figura

Page 10: Curso de Java Introducción al Paradigma Orientado a Objetos Prof. Ing. Guido Acosta.

Orientación a objetos

- Todo es un objeto

- Las clases definen el comportamiento de un conjunto de objetos.

- Un objeto es un caso particular de una clase. Es decir una instancia.

- Cada objeto tiene un estado. (Una memoria que contiene los datos)

- Los objetos se comunican entre sí mediante mensajes.

Page 11: Curso de Java Introducción al Paradigma Orientado a Objetos Prof. Ing. Guido Acosta.

Orientación a objetosFigura

círculo: color naranjado

círculo: color celeste

círculo: color gris

Color

Page 12: Curso de Java Introducción al Paradigma Orientado a Objetos Prof. Ing. Guido Acosta.

Orientación a objetos

- Todo es un objeto

- Las clases definen el comportamiento de un conjunto de objetos.

- Un objeto es un caso particular de una clase. Es decir una instancia.

- Cada objeto tiene un estado. (Una memoria que contiene los datos)

- Los objetos se comunican entre sí mediante mensajes.

Page 13: Curso de Java Introducción al Paradigma Orientado a Objetos Prof. Ing. Guido Acosta.

Orientación a objetosFigura

círculo: color naranjado

círculo: color celeste

círculo: color gris

Color

cambiarColor

Page 14: Curso de Java Introducción al Paradigma Orientado a Objetos Prof. Ing. Guido Acosta.

Orientación a objetos

Figura

ColorTamañoPosición

cambiarColorcambiarTamañocambiarPosicion

Los objetos encapsulan:

- Datos- Comportamiento

Page 15: Curso de Java Introducción al Paradigma Orientado a Objetos Prof. Ing. Guido Acosta.

Orientación a objetos

Figura

ColorTamañoPosición

cambiarColorcambiarTamañocambiarPosicion

Los objetos encapsulan:

- Datos- Comportamiento

Atributos

Métodos

Page 16: Curso de Java Introducción al Paradigma Orientado a Objetos Prof. Ing. Guido Acosta.

Contenido de la clase

- Conceptos básicos

- Definición de clase

- Fundamentos de la POO - Encapsulamiento

- Constructores y objetos

- Operadores . (punto) y new

Page 17: Curso de Java Introducción al Paradigma Orientado a Objetos Prof. Ing. Guido Acosta.

Definición de una clase

Proyecto

Page 18: Curso de Java Introducción al Paradigma Orientado a Objetos Prof. Ing. Guido Acosta.

Definición de una clase

Paquete

Page 19: Curso de Java Introducción al Paradigma Orientado a Objetos Prof. Ing. Guido Acosta.

Definición de una clase

Paquete

Page 20: Curso de Java Introducción al Paradigma Orientado a Objetos Prof. Ing. Guido Acosta.

Definición de una clase

Paquete

Page 21: Curso de Java Introducción al Paradigma Orientado a Objetos Prof. Ing. Guido Acosta.

Definición de una clase

Clase

Page 22: Curso de Java Introducción al Paradigma Orientado a Objetos Prof. Ing. Guido Acosta.

Definición de una clase

Atributos

Page 23: Curso de Java Introducción al Paradigma Orientado a Objetos Prof. Ing. Guido Acosta.

Definición de una clase

Métodos

Page 24: Curso de Java Introducción al Paradigma Orientado a Objetos Prof. Ing. Guido Acosta.

Contenido de la clase

- Conceptos básicos

- Definición de clase

- Fundamentos de la POO - Encapsulamiento

- Constructores y objetos

- Operadores . (punto) y new

Page 25: Curso de Java Introducción al Paradigma Orientado a Objetos Prof. Ing. Guido Acosta.

Programación Orientada a Objetos

La programación orientada a objeto permite crear programas separando las partes por responsabilidades y haciendo que esas partes se comuniquen entre sí mediante mensajes.

Page 26: Curso de Java Introducción al Paradigma Orientado a Objetos Prof. Ing. Guido Acosta.

Programación Orientada a Objetos

La programación orientada a objeto permite crear programas separando las partes por responsabilidades y haciendo que esas partes se comuniquen entre sí mediante mensajes.

Page 27: Curso de Java Introducción al Paradigma Orientado a Objetos Prof. Ing. Guido Acosta.

Programación Orientada a Objetos

La programación orientada a objeto permite crear programas separando las partes por responsabilidades y haciendo que esas partes se comuniquen entre sí mediante mensajes.

cambiarCanal( 7 )

Page 28: Curso de Java Introducción al Paradigma Orientado a Objetos Prof. Ing. Guido Acosta.

Programación Orientada a Objetos

La programación orientada a objeto permite crear programas separando las partes por responsabilidades y haciendo que esas partes se comuniquen entre sí mediante mensajes.

cambiarCanal( 7 )

Encapsulamiento

Page 29: Curso de Java Introducción al Paradigma Orientado a Objetos Prof. Ing. Guido Acosta.

Programación Orientada a Objetos

La programación orientada a objeto permite crear programas separando las partes por responsabilidades y haciendo que esas partes se comuniquen entre sí mediante mensajes.

cambiarCanal( 7 )

Encapsulamiento

cambiarCanal( 7 )

Page 30: Curso de Java Introducción al Paradigma Orientado a Objetos Prof. Ing. Guido Acosta.

Encapsulamiento

La programación orientada a objeto permite crear programas separando las partes por responsabilidades y haciendo que esas partes se comuniquen entre sí mediante mensajes.

cambiarVarXUW( 7 )

Encapsulamiento

Cambiar???

Page 31: Curso de Java Introducción al Paradigma Orientado a Objetos Prof. Ing. Guido Acosta.

Encapsulamiento

Métodos públicos- CambiarCanal- ModificarVolumen- Encendido/apagado

Métodos privados- SintonizarFrecuencia- ModificarEstadoCI35- CortarCorriente

Page 32: Curso de Java Introducción al Paradigma Orientado a Objetos Prof. Ing. Guido Acosta.

Encapsulamiento - Ventajas

Capacidad de crear módulo

Protección de la información

Clase

Parte pública

Parte privada

Cliente

Clase

calcularNota

Nota

Cliente

Modificaciones

Page 33: Curso de Java Introducción al Paradigma Orientado a Objetos Prof. Ing. Guido Acosta.

Encapsulamiento en Java

Modificadores de acceso

- public

- private

Page 34: Curso de Java Introducción al Paradigma Orientado a Objetos Prof. Ing. Guido Acosta.

Encapsulamiento en Java

Modificadores de acceso

Page 35: Curso de Java Introducción al Paradigma Orientado a Objetos Prof. Ing. Guido Acosta.

Encapsulamiento en Java

Modificadores de acceso

¿Cómo accedemos a los atributos del método?

Page 36: Curso de Java Introducción al Paradigma Orientado a Objetos Prof. Ing. Guido Acosta.

Encapsulamiento en Java

Getters y Setters

Page 37: Curso de Java Introducción al Paradigma Orientado a Objetos Prof. Ing. Guido Acosta.

Getters y Setters en Eclipse

Click secundario sobre el código

Page 38: Curso de Java Introducción al Paradigma Orientado a Objetos Prof. Ing. Guido Acosta.

Contenido de la clase

- Conceptos básicos

- Definición de clase

- Fundamentos de la POO - Encapsulamiento

- Constructores y objetos

- Operadores . (punto) y new

Page 39: Curso de Java Introducción al Paradigma Orientado a Objetos Prof. Ing. Guido Acosta.

Constructores

Los constructores son métodos que permiten inicializar un objeto al crearlo. El constructor es un método especial de la clase.

El constructor debe coincidir con el nombre de la clase.

Page 40: Curso de Java Introducción al Paradigma Orientado a Objetos Prof. Ing. Guido Acosta.

Constructor por defecto

Java crea automáticamente un constructor sin parámetros para cualquier método que se defina.

Page 41: Curso de Java Introducción al Paradigma Orientado a Objetos Prof. Ing. Guido Acosta.

Inicialización por defecto

Cuando no se especifican los valores para los atributos la inicialización realiza lo siguiente:

- Las variables de instancia de tipo numérico se inician en 0.

- Las variables de instancia de tipo char se inicializan en ‘\0’

- Las variables de instancia de tipo boolean se inicializan en false

- Las variables de instancia de cualquier tipo no primitivo se inicializan a null

Page 42: Curso de Java Introducción al Paradigma Orientado a Objetos Prof. Ing. Guido Acosta.

Contenido de la clase

- Conceptos básicos

- Definición de clase

- Fundamentos de la POO - Encapsulamiento

- Constructores y objetos

- Operadores . (punto) y new

Page 43: Curso de Java Introducción al Paradigma Orientado a Objetos Prof. Ing. Guido Acosta.

El operador new

El operador new nos permite crear objetos en Java.

DeclaraciónFigura unaFigura;

CreaciónunaFigura = new Figura();

Obs.: unaFigura es una instancia de la clase Figura.

Page 44: Curso de Java Introducción al Paradigma Orientado a Objetos Prof. Ing. Guido Acosta.

El operador . (punto)

El operador . nos permite acceder a los distintos miembros de una clase.

objeto.miembro

Page 45: Curso de Java Introducción al Paradigma Orientado a Objetos Prof. Ing. Guido Acosta.

El operador . (punto)

El operador . nos permite acceder a los distintos miembros de una clase.

objeto.miembro

Acceso a los atributos

objeto.atributo

Acceso a los métodos

objeto.método(lista de parámetros)

Page 46: Curso de Java Introducción al Paradigma Orientado a Objetos Prof. Ing. Guido Acosta.

El operador . (punto)

El operador . nos permite acceder a los distintos miembros de una clase.

objeto.miembro

Acceso a los atributosobjeto.atributo

Acceso a los métodosobjeto.método(lista de parámetros)

EjemplounaFigura = new Figura();

unaFigura.colorunaFigura.cambiarColor(“verde”)

Page 47: Curso de Java Introducción al Paradigma Orientado a Objetos Prof. Ing. Guido Acosta.

EjercicioEscribir un programa que gestione las notas de los alumnos y profesores. Los alumnos tienen tres exámenes parciales. La nota final del alumno se obtiene mediante el promedio de las tres notas parciales. Además para calificar al profesor, el programa deberá ofrecer una funcionalidad para el cálculo del promedio del curso. El rendimiento del profesor se obtiene a partir del promedio del curso:

Calificación profesor = promedio * 0.6

Tareas1. Definir las clases necesarias2. Crear un menú con las operaciones disponibles

1. Cargar datos de los alumnos (especificar cantidad de alumnos)2. Cargar datos del profesor3. Mostrar resultados

1. Calificación del profesor2. Calificación de un alumno en particular3. Promedio del curso

3. Implementar los métodos para los cálculos4. Implementar métodos para validaciones