curso de java introducción al paradigma orientado a objetos prof. ing. guido acosta
TRANSCRIPT
![Page 1: Curso de Java Introducción al Paradigma Orientado a Objetos Prof. Ing. Guido Acosta](https://reader035.vdocuments.net/reader035/viewer/2022062519/5665b4ba1a28abb57c939080/html5/thumbnails/1.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022062519/5665b4ba1a28abb57c939080/html5/thumbnails/2.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022062519/5665b4ba1a28abb57c939080/html5/thumbnails/3.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022062519/5665b4ba1a28abb57c939080/html5/thumbnails/4.jpg)
Orientación a objetos
![Page 5: Curso de Java Introducción al Paradigma Orientado a Objetos Prof. Ing. Guido Acosta](https://reader035.vdocuments.net/reader035/viewer/2022062519/5665b4ba1a28abb57c939080/html5/thumbnails/5.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022062519/5665b4ba1a28abb57c939080/html5/thumbnails/6.jpg)
Orientación a objetos
![Page 7: Curso de Java Introducción al Paradigma Orientado a Objetos Prof. Ing. Guido Acosta](https://reader035.vdocuments.net/reader035/viewer/2022062519/5665b4ba1a28abb57c939080/html5/thumbnails/7.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022062519/5665b4ba1a28abb57c939080/html5/thumbnails/8.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022062519/5665b4ba1a28abb57c939080/html5/thumbnails/9.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022062519/5665b4ba1a28abb57c939080/html5/thumbnails/10.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022062519/5665b4ba1a28abb57c939080/html5/thumbnails/11.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022062519/5665b4ba1a28abb57c939080/html5/thumbnails/12.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022062519/5665b4ba1a28abb57c939080/html5/thumbnails/13.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022062519/5665b4ba1a28abb57c939080/html5/thumbnails/14.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022062519/5665b4ba1a28abb57c939080/html5/thumbnails/15.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022062519/5665b4ba1a28abb57c939080/html5/thumbnails/16.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022062519/5665b4ba1a28abb57c939080/html5/thumbnails/17.jpg)
Definición de una clase
Proyecto
![Page 18: Curso de Java Introducción al Paradigma Orientado a Objetos Prof. Ing. Guido Acosta](https://reader035.vdocuments.net/reader035/viewer/2022062519/5665b4ba1a28abb57c939080/html5/thumbnails/18.jpg)
Definición de una clase
Paquete
![Page 19: Curso de Java Introducción al Paradigma Orientado a Objetos Prof. Ing. Guido Acosta](https://reader035.vdocuments.net/reader035/viewer/2022062519/5665b4ba1a28abb57c939080/html5/thumbnails/19.jpg)
Definición de una clase
Paquete
![Page 20: Curso de Java Introducción al Paradigma Orientado a Objetos Prof. Ing. Guido Acosta](https://reader035.vdocuments.net/reader035/viewer/2022062519/5665b4ba1a28abb57c939080/html5/thumbnails/20.jpg)
Definición de una clase
Paquete
![Page 21: Curso de Java Introducción al Paradigma Orientado a Objetos Prof. Ing. Guido Acosta](https://reader035.vdocuments.net/reader035/viewer/2022062519/5665b4ba1a28abb57c939080/html5/thumbnails/21.jpg)
Definición de una clase
Clase
![Page 22: Curso de Java Introducción al Paradigma Orientado a Objetos Prof. Ing. Guido Acosta](https://reader035.vdocuments.net/reader035/viewer/2022062519/5665b4ba1a28abb57c939080/html5/thumbnails/22.jpg)
Definición de una clase
Atributos
![Page 23: Curso de Java Introducción al Paradigma Orientado a Objetos Prof. Ing. Guido Acosta](https://reader035.vdocuments.net/reader035/viewer/2022062519/5665b4ba1a28abb57c939080/html5/thumbnails/23.jpg)
Definición de una clase
Métodos
![Page 24: Curso de Java Introducción al Paradigma Orientado a Objetos Prof. Ing. Guido Acosta](https://reader035.vdocuments.net/reader035/viewer/2022062519/5665b4ba1a28abb57c939080/html5/thumbnails/24.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022062519/5665b4ba1a28abb57c939080/html5/thumbnails/25.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022062519/5665b4ba1a28abb57c939080/html5/thumbnails/26.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022062519/5665b4ba1a28abb57c939080/html5/thumbnails/27.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022062519/5665b4ba1a28abb57c939080/html5/thumbnails/28.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022062519/5665b4ba1a28abb57c939080/html5/thumbnails/29.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022062519/5665b4ba1a28abb57c939080/html5/thumbnails/30.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022062519/5665b4ba1a28abb57c939080/html5/thumbnails/31.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022062519/5665b4ba1a28abb57c939080/html5/thumbnails/32.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022062519/5665b4ba1a28abb57c939080/html5/thumbnails/33.jpg)
Encapsulamiento en Java
Modificadores de acceso
- public
- private
![Page 34: Curso de Java Introducción al Paradigma Orientado a Objetos Prof. Ing. Guido Acosta](https://reader035.vdocuments.net/reader035/viewer/2022062519/5665b4ba1a28abb57c939080/html5/thumbnails/34.jpg)
Encapsulamiento en Java
Modificadores de acceso
![Page 35: Curso de Java Introducción al Paradigma Orientado a Objetos Prof. Ing. Guido Acosta](https://reader035.vdocuments.net/reader035/viewer/2022062519/5665b4ba1a28abb57c939080/html5/thumbnails/35.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022062519/5665b4ba1a28abb57c939080/html5/thumbnails/36.jpg)
Encapsulamiento en Java
Getters y Setters
![Page 37: Curso de Java Introducción al Paradigma Orientado a Objetos Prof. Ing. Guido Acosta](https://reader035.vdocuments.net/reader035/viewer/2022062519/5665b4ba1a28abb57c939080/html5/thumbnails/37.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022062519/5665b4ba1a28abb57c939080/html5/thumbnails/38.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022062519/5665b4ba1a28abb57c939080/html5/thumbnails/39.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022062519/5665b4ba1a28abb57c939080/html5/thumbnails/40.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022062519/5665b4ba1a28abb57c939080/html5/thumbnails/41.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022062519/5665b4ba1a28abb57c939080/html5/thumbnails/42.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022062519/5665b4ba1a28abb57c939080/html5/thumbnails/43.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022062519/5665b4ba1a28abb57c939080/html5/thumbnails/44.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022062519/5665b4ba1a28abb57c939080/html5/thumbnails/45.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022062519/5665b4ba1a28abb57c939080/html5/thumbnails/46.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022062519/5665b4ba1a28abb57c939080/html5/thumbnails/47.jpg)
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