SlideShare una empresa de Scribd logo
1 de 21
Escuela Politécnica Superior de Ingeniería
Departamento de Ingeniería Industrial
Fundamentos de la informática
Programación orientada a objetos con Java
PARTE II
Programación orientada a objetos con Java 21
Programación orientada a objetos
¿Cuál es el modelo de clases para un depósito de agua?
Volumen
actual
Capacidad
Agregar agua
Desbordamiento
Quitar agua
Programación orientada a objetos con Java 22
Programación orientada a objetos
¿Cuál es el modelo de clases para un depósito de agua?
El modelo de clases está compuesto por:
n Elementos tangibles (objetos)
n Atributos (campos)
n Responsabilidades (operaciones o métodos)
n Limitaciones de diseño (contrato del objeto)
Programación orientada a objetos con Java 23
Programación orientada a objetos
¿Cuál es el modelo de clases para un depósito de agua?
n Elementos tangibles (objetos)
n Depósito de agua
n Atributos (campos)
n Capacidad (m3)
n Volumen actual (m3)
Programación orientada a objetos con Java 24
Programación orientada a objetos
¿Cuál es el modelo de clases para un depósito de agua?
n Responsabilidades (operaciones o métodos)
n Agregar agua (m3)
n Quitar agua (m3)
Programación orientada a objetos con Java 25
Programación orientada a objetos
¿Cuál es el modelo de clases para un depósito de agua?
n Limitaciones de diseño (contrato del objeto)
n La capacidad del depósito debe ser mayor que cero
n La capacidad es constante y se expresa en m3
n No se puede quitar agua de un depósito vacío
n No se puede añadir agua si no existe un depósito para
recoger el agua en caso de desbordamiento
n Si al añadir agua hay desbordamiento, el agua que se
desborda se debe almacenar en un depósito auxiliar
n No se puede agregar y quitar agua al mismo tiempo
Programación orientada a objetos con Java 26
Programación orientada a objetos
¿Cuál es el modelo de clases para un depósito de agua?
Depósito de agua
capacidad
volumenActual
agregarAgua(cantidad)
Métodos quitarAgua(cantidad)
Atributos
Nombre de la
clase
Desbordamiento
Programación orientada a objetos con Java 27
Programación orientada a objetos
Clases y objetos
n Todos los objetos de una clase comparten las mismas
características
Programación orientada a objetos con Java 28
Programación orientada a objetos
Clases y objetos
n A partir de una clase se puede obtener un objeto
(instancia) que se comunica con otros objetos mediante
mensajes
n Cada objeto tiene un estado propio
n Cada objeto responde a un conjunto de peticiones
definidas en la interfaz de la clase a la que pertenece
Programación orientada a objetos con Java 29
Programación orientada a objetos
Clases y objetos
n La interfaz ofrece al exterior el comportamiento del
objeto. El código y los datos internos que se utilizan para
responder a una petición se denomina implementación
n Un objeto se compone de:
n Interfaz: qué se ofrece
n Implementación: cómo se ofrece
Light bombilla = new Light();
bombilla.on();
Programación orientada a objetos con Java 30
Programación orientada a objetos
Encapsulación
n La encapsulación permite ocultar los datos y la
funcionalidad de un objeto. Además, facilita la
reutilización de objetos
n La interfaz de la clase de un objeto permite que otros
objetos accedan a los atributos y a los métodos públicos
de un objeto
Programación orientada a objetos con Java 31
Programación orientada a objetos
Clases y subclases
n La herencia permite diseñar clases a partir de otras
clases. Una subclase puede añadir o modificar la
funcionalidad de la clase de orden superior
Programación orientada a objetos con Java 32
Programación orientada a objetos
Clases y subclases
n Una subclase puede ampliar o extender el
comportamiento de la clase de orden superior
Programación orientada a objetos con Java 33
Programación orientada a objetos
Clases y subclases
n Una subclase puede modificar el comportamiento de la
clase de orden superior
Programación orientada a objetos con Java 34
Programación orientada a objetos
Polimorfismo y sobreescritura de métodos
n El polimorfismo es la capacidad de modificar el
comportamiento de una clase mediante la sobreescritura
de métodos
Programación orientada a objetos con Java 35
Programación orientada a objetos
¿Cómo identificar las clases y los métodos de un sistema?
n Identificar las clases del sistema. Normalmente, las
clases corresponden con los sustantivos que se utilizan
para describir el sistema
n Definir los atributos de las clases. En general, los
atributos coinciden con los adjetivos que se emplean
para describir las clases
n Definir los métodos de cada clase. Normalmente los
verbos o las acciones que describen el sistema
corresponderán con los métodos
Programación orientada a objetos con Java 36
Programación Java
Java es un lenguaje orientado a objetos
n En Java, todo es un objeto. Los objetos se definen en
términos de la clase a la que pertenecen
String nombre;
Persona alumno;
n El estado de un objeto se modifica utilizando los métodos
de la clase
Programación orientada a objetos con Java 37
Programación Java
Clases y objetos
n Las clases representan objetos de la realidad (dominio) al
que se refiere un programa Java
n Las clases se definen a partir de un conjunto de atributos
y métodos. Cada atributo puede estar limitado a un
dominio de valores
n Las clases son conceptos abstractos. Los objetos son
instancias de las clases, se crean durante la ejecución de
los programas
Programación orientada a objetos con Java 38
Programación Java
Clases y métodos
n Los métodos de las clases realizan acciones que
modifican las propiedades de los objetos
Programación orientada a objetos con Java 39
Programación Java
El uso de métodos
n Los métodos se utilizan para estructurar un programa
Java de forma lógica
n El uso de métodos permite dividir un problema en
problemas más pequeños que son más fáciles de resolver
(“Divide y vencerás”)
n Los métodos encapsulan un conjunto de instrucciones que
se puede ejecutar tantas veces como sea necesario. El
código del método queda oculto y sólo es necesario
conocer su interfaz (parámetros y valor de retorno)
Programación orientada a objetos con Java 40
Programación Java
El uso de métodos
n Un método lleva a cabo una tarea específica de diversa
naturaleza: input, output o cálculo
n Para crear un método se tiene que escribir la declaración
del método, el encabezado y el cuerpo. Dentro del cuerpo
pueden haber declaraciones de variables y constantes. Si
las hay se conocen como variables locales y solo pueden
ser utilizadas dentro del método
n En otros lenguajes, los métodos se denominan subrutinas
o funciones

Más contenido relacionado

Similar a P2 Programacion orientada a objetos con Java.pptx

Java ferca
Java fercaJava ferca
Java ferca
jtk1
 
Java ferca
Java fercaJava ferca
Java ferca
jtk1
 
Elementos avanzados de poo
Elementos avanzados de pooElementos avanzados de poo
Elementos avanzados de poo
LCA
 
Proyecto en android completado
Proyecto en android completadoProyecto en android completado
Proyecto en android completado
Kai Exo
 

Similar a P2 Programacion orientada a objetos con Java.pptx (20)

Java ferca
Java fercaJava ferca
Java ferca
 
Java ferca
Java fercaJava ferca
Java ferca
 
Preguntas JAVA.docx
Preguntas JAVA.docxPreguntas JAVA.docx
Preguntas JAVA.docx
 
Elementos avanzados de poo
Elementos avanzados de pooElementos avanzados de poo
Elementos avanzados de poo
 
Clases y Objetos para programar introducción para programar
Clases y Objetos para programar introducción para programarClases y Objetos para programar introducción para programar
Clases y Objetos para programar introducción para programar
 
Poo Java
Poo JavaPoo Java
Poo Java
 
Programacion java basica
Programacion java basicaProgramacion java basica
Programacion java basica
 
P5 Programacion orientada a objetos con Java.pptx
P5 Programacion orientada a objetos con Java.pptxP5 Programacion orientada a objetos con Java.pptx
P5 Programacion orientada a objetos con Java.pptx
 
Esquema curso java
Esquema curso javaEsquema curso java
Esquema curso java
 
Programación Orientada a Objetos
Programación Orientada a ObjetosProgramación Orientada a Objetos
Programación Orientada a Objetos
 
Taller 1 2
Taller 1 2Taller 1 2
Taller 1 2
 
Programacion orientada a objetos 2
Programacion orientada a objetos 2Programacion orientada a objetos 2
Programacion orientada a objetos 2
 
Java basico
Java basicoJava basico
Java basico
 
Proyecto en android completado
Proyecto en android completadoProyecto en android completado
Proyecto en android completado
 
Manual de java_2
Manual de java_2Manual de java_2
Manual de java_2
 
manual 9
manual 9manual 9
manual 9
 
Manual de java 3
Manual de java 3Manual de java 3
Manual de java 3
 
MANUAL DE JAVA 2
MANUAL DE JAVA 2MANUAL DE JAVA 2
MANUAL DE JAVA 2
 
Manual de java 3
Manual de java 3Manual de java 3
Manual de java 3
 
Manual de java 3
Manual de java 3Manual de java 3
Manual de java 3
 

Más de docmarcoantoniosotov

Más de docmarcoantoniosotov (20)

2. NODE_RED - FUNDAMENTOS DE PROGRAMACIÓN.pptx
2. NODE_RED - FUNDAMENTOS DE PROGRAMACIÓN.pptx2. NODE_RED - FUNDAMENTOS DE PROGRAMACIÓN.pptx
2. NODE_RED - FUNDAMENTOS DE PROGRAMACIÓN.pptx
 
unidad03-variablesconstantesyoperadores-120613162217.pdf
unidad03-variablesconstantesyoperadores-120613162217.pdfunidad03-variablesconstantesyoperadores-120613162217.pdf
unidad03-variablesconstantesyoperadores-120613162217.pdf
 
Minimal Vintage - Marketing plantilla de estilo.pptx
Minimal Vintage  - Marketing plantilla de estilo.pptxMinimal Vintage  - Marketing plantilla de estilo.pptx
Minimal Vintage - Marketing plantilla de estilo.pptx
 
Biologically Inspired Turn Control for Autonomous Mobile Robots.pptx
Biologically Inspired Turn Control for Autonomous Mobile Robots.pptxBiologically Inspired Turn Control for Autonomous Mobile Robots.pptx
Biologically Inspired Turn Control for Autonomous Mobile Robots.pptx
 
P3 Programacion orientada a objetos con Java.pptx
P3 Programacion orientada a objetos con Java.pptxP3 Programacion orientada a objetos con Java.pptx
P3 Programacion orientada a objetos con Java.pptx
 
Introduccion Programación Orientada a Objetos.ppt
Introduccion Programación Orientada a Objetos.pptIntroduccion Programación Orientada a Objetos.ppt
Introduccion Programación Orientada a Objetos.ppt
 
TEMA 2 PARTE 2 DISPOSITIVOS Y PLATAFORMAS PARA IoT.pdf
TEMA 2 PARTE 2 DISPOSITIVOS Y PLATAFORMAS PARA IoT.pdfTEMA 2 PARTE 2 DISPOSITIVOS Y PLATAFORMAS PARA IoT.pdf
TEMA 2 PARTE 2 DISPOSITIVOS Y PLATAFORMAS PARA IoT.pdf
 
Tema 2 parte 2 Algoritmos - Variables, constantes y operadores.pptx
Tema 2 parte 2 Algoritmos - Variables, constantes y operadores.pptxTema 2 parte 2 Algoritmos - Variables, constantes y operadores.pptx
Tema 2 parte 2 Algoritmos - Variables, constantes y operadores.pptx
 
Tema 2 Lenguajes de Programación - Final.pptx
Tema 2 Lenguajes de Programación - Final.pptxTema 2 Lenguajes de Programación - Final.pptx
Tema 2 Lenguajes de Programación - Final.pptx
 
Tema 2 Algoritmo Concepto y Ejemplos.pptx
Tema 2 Algoritmo Concepto y Ejemplos.pptxTema 2 Algoritmo Concepto y Ejemplos.pptx
Tema 2 Algoritmo Concepto y Ejemplos.pptx
 
Tema 1 Introducción a la Programación.pptx
Tema 1 Introducción a la Programación.pptxTema 1 Introducción a la Programación.pptx
Tema 1 Introducción a la Programación.pptx
 
Tema 0 Introducción Lógica de la Programación.pptx
Tema 0 Introducción Lógica de la Programación.pptxTema 0 Introducción Lógica de la Programación.pptx
Tema 0 Introducción Lógica de la Programación.pptx
 
Taller basico de Introduccion a Raspberry Pi.pptx
Taller basico de Introduccion a Raspberry Pi.pptxTaller basico de Introduccion a Raspberry Pi.pptx
Taller basico de Introduccion a Raspberry Pi.pptx
 
Diapositivas Comunicaciones-Moviles-Parte-II.ppt
Diapositivas Comunicaciones-Moviles-Parte-II.pptDiapositivas Comunicaciones-Moviles-Parte-II.ppt
Diapositivas Comunicaciones-Moviles-Parte-II.ppt
 
Diapositivas Comunicaciones-Moviles-Parte-I.ppt
Diapositivas Comunicaciones-Moviles-Parte-I.pptDiapositivas Comunicaciones-Moviles-Parte-I.ppt
Diapositivas Comunicaciones-Moviles-Parte-I.ppt
 
PROGRAMACION DE DISPOSITIVOS EMBEBIDOS.pptx
PROGRAMACION DE DISPOSITIVOS EMBEBIDOS.pptxPROGRAMACION DE DISPOSITIVOS EMBEBIDOS.pptx
PROGRAMACION DE DISPOSITIVOS EMBEBIDOS.pptx
 
Tema_2 Comunicaciones para el mundo IoT.pdf
Tema_2 Comunicaciones para el mundo IoT.pdfTema_2 Comunicaciones para el mundo IoT.pdf
Tema_2 Comunicaciones para el mundo IoT.pdf
 
Tema_0 INTRODUCCION A LA MATERIA INTERNET DE LAS COSAS.pptx
Tema_0 INTRODUCCION A LA MATERIA INTERNET DE LAS COSAS.pptxTema_0 INTRODUCCION A LA MATERIA INTERNET DE LAS COSAS.pptx
Tema_0 INTRODUCCION A LA MATERIA INTERNET DE LAS COSAS.pptx
 
Tema_2 - DATA RATE Y COMUNICACIONES PARA LA IoT.pptx
Tema_2 - DATA RATE Y COMUNICACIONES PARA LA IoT.pptxTema_2 - DATA RATE Y COMUNICACIONES PARA LA IoT.pptx
Tema_2 - DATA RATE Y COMUNICACIONES PARA LA IoT.pptx
 
TEMA 2 PARTE 2 DISPOSITIVOS Y PLATAFORMAS PARA IoT.pptx
TEMA 2 PARTE 2 DISPOSITIVOS Y PLATAFORMAS PARA IoT.pptxTEMA 2 PARTE 2 DISPOSITIVOS Y PLATAFORMAS PARA IoT.pptx
TEMA 2 PARTE 2 DISPOSITIVOS Y PLATAFORMAS PARA IoT.pptx
 

Último

6.-Como-Atraer-El-Amor-01-Lain-Garcia-Calvo.pdf
6.-Como-Atraer-El-Amor-01-Lain-Garcia-Calvo.pdf6.-Como-Atraer-El-Amor-01-Lain-Garcia-Calvo.pdf
6.-Como-Atraer-El-Amor-01-Lain-Garcia-Calvo.pdf
MiNeyi1
 
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAFORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
El Fortí
 
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdfCurso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Francisco158360
 
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
RigoTito
 

Último (20)

6.-Como-Atraer-El-Amor-01-Lain-Garcia-Calvo.pdf
6.-Como-Atraer-El-Amor-01-Lain-Garcia-Calvo.pdf6.-Como-Atraer-El-Amor-01-Lain-Garcia-Calvo.pdf
6.-Como-Atraer-El-Amor-01-Lain-Garcia-Calvo.pdf
 
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAFORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
 
Unidad 3 | Metodología de la Investigación
Unidad 3 | Metodología de la InvestigaciónUnidad 3 | Metodología de la Investigación
Unidad 3 | Metodología de la Investigación
 
Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...
 
Qué es la Inteligencia artificial generativa
Qué es la Inteligencia artificial generativaQué es la Inteligencia artificial generativa
Qué es la Inteligencia artificial generativa
 
Programacion Anual Matemática5 MPG 2024 Ccesa007.pdf
Programacion Anual Matemática5    MPG 2024  Ccesa007.pdfProgramacion Anual Matemática5    MPG 2024  Ccesa007.pdf
Programacion Anual Matemática5 MPG 2024 Ccesa007.pdf
 
Power Point: Fe contra todo pronóstico.pptx
Power Point: Fe contra todo pronóstico.pptxPower Point: Fe contra todo pronóstico.pptx
Power Point: Fe contra todo pronóstico.pptx
 
PIAR v 015. 2024 Plan Individual de ajustes razonables
PIAR v 015. 2024 Plan Individual de ajustes razonablesPIAR v 015. 2024 Plan Individual de ajustes razonables
PIAR v 015. 2024 Plan Individual de ajustes razonables
 
Estrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónEstrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcción
 
proyecto de mayo inicial 5 añitos aprender es bueno para tu niño
proyecto de mayo inicial 5 añitos aprender es bueno para tu niñoproyecto de mayo inicial 5 añitos aprender es bueno para tu niño
proyecto de mayo inicial 5 añitos aprender es bueno para tu niño
 
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICABIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
 
CALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADCALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDAD
 
Medición del Movimiento Online 2024.pptx
Medición del Movimiento Online 2024.pptxMedición del Movimiento Online 2024.pptx
Medición del Movimiento Online 2024.pptx
 
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfSELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
 
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdfCurso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdf
 
Infografía EE con pie del 2023 (3)-1.pdf
Infografía EE con pie del 2023 (3)-1.pdfInfografía EE con pie del 2023 (3)-1.pdf
Infografía EE con pie del 2023 (3)-1.pdf
 
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
 
Fe contra todo pronóstico. La fe es confianza.
Fe contra todo pronóstico. La fe es confianza.Fe contra todo pronóstico. La fe es confianza.
Fe contra todo pronóstico. La fe es confianza.
 
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
 
Presentacion Metodología de Enseñanza Multigrado
Presentacion Metodología de Enseñanza MultigradoPresentacion Metodología de Enseñanza Multigrado
Presentacion Metodología de Enseñanza Multigrado
 

P2 Programacion orientada a objetos con Java.pptx

  • 1. Escuela Politécnica Superior de Ingeniería Departamento de Ingeniería Industrial Fundamentos de la informática Programación orientada a objetos con Java PARTE II
  • 2. Programación orientada a objetos con Java 21 Programación orientada a objetos ¿Cuál es el modelo de clases para un depósito de agua? Volumen actual Capacidad Agregar agua Desbordamiento Quitar agua
  • 3. Programación orientada a objetos con Java 22 Programación orientada a objetos ¿Cuál es el modelo de clases para un depósito de agua? El modelo de clases está compuesto por: n Elementos tangibles (objetos) n Atributos (campos) n Responsabilidades (operaciones o métodos) n Limitaciones de diseño (contrato del objeto)
  • 4. Programación orientada a objetos con Java 23 Programación orientada a objetos ¿Cuál es el modelo de clases para un depósito de agua? n Elementos tangibles (objetos) n Depósito de agua n Atributos (campos) n Capacidad (m3) n Volumen actual (m3)
  • 5. Programación orientada a objetos con Java 24 Programación orientada a objetos ¿Cuál es el modelo de clases para un depósito de agua? n Responsabilidades (operaciones o métodos) n Agregar agua (m3) n Quitar agua (m3)
  • 6. Programación orientada a objetos con Java 25 Programación orientada a objetos ¿Cuál es el modelo de clases para un depósito de agua? n Limitaciones de diseño (contrato del objeto) n La capacidad del depósito debe ser mayor que cero n La capacidad es constante y se expresa en m3 n No se puede quitar agua de un depósito vacío n No se puede añadir agua si no existe un depósito para recoger el agua en caso de desbordamiento n Si al añadir agua hay desbordamiento, el agua que se desborda se debe almacenar en un depósito auxiliar n No se puede agregar y quitar agua al mismo tiempo
  • 7. Programación orientada a objetos con Java 26 Programación orientada a objetos ¿Cuál es el modelo de clases para un depósito de agua? Depósito de agua capacidad volumenActual agregarAgua(cantidad) Métodos quitarAgua(cantidad) Atributos Nombre de la clase Desbordamiento
  • 8. Programación orientada a objetos con Java 27 Programación orientada a objetos Clases y objetos n Todos los objetos de una clase comparten las mismas características
  • 9. Programación orientada a objetos con Java 28 Programación orientada a objetos Clases y objetos n A partir de una clase se puede obtener un objeto (instancia) que se comunica con otros objetos mediante mensajes n Cada objeto tiene un estado propio n Cada objeto responde a un conjunto de peticiones definidas en la interfaz de la clase a la que pertenece
  • 10. Programación orientada a objetos con Java 29 Programación orientada a objetos Clases y objetos n La interfaz ofrece al exterior el comportamiento del objeto. El código y los datos internos que se utilizan para responder a una petición se denomina implementación n Un objeto se compone de: n Interfaz: qué se ofrece n Implementación: cómo se ofrece Light bombilla = new Light(); bombilla.on();
  • 11. Programación orientada a objetos con Java 30 Programación orientada a objetos Encapsulación n La encapsulación permite ocultar los datos y la funcionalidad de un objeto. Además, facilita la reutilización de objetos n La interfaz de la clase de un objeto permite que otros objetos accedan a los atributos y a los métodos públicos de un objeto
  • 12. Programación orientada a objetos con Java 31 Programación orientada a objetos Clases y subclases n La herencia permite diseñar clases a partir de otras clases. Una subclase puede añadir o modificar la funcionalidad de la clase de orden superior
  • 13. Programación orientada a objetos con Java 32 Programación orientada a objetos Clases y subclases n Una subclase puede ampliar o extender el comportamiento de la clase de orden superior
  • 14. Programación orientada a objetos con Java 33 Programación orientada a objetos Clases y subclases n Una subclase puede modificar el comportamiento de la clase de orden superior
  • 15. Programación orientada a objetos con Java 34 Programación orientada a objetos Polimorfismo y sobreescritura de métodos n El polimorfismo es la capacidad de modificar el comportamiento de una clase mediante la sobreescritura de métodos
  • 16. Programación orientada a objetos con Java 35 Programación orientada a objetos ¿Cómo identificar las clases y los métodos de un sistema? n Identificar las clases del sistema. Normalmente, las clases corresponden con los sustantivos que se utilizan para describir el sistema n Definir los atributos de las clases. En general, los atributos coinciden con los adjetivos que se emplean para describir las clases n Definir los métodos de cada clase. Normalmente los verbos o las acciones que describen el sistema corresponderán con los métodos
  • 17. Programación orientada a objetos con Java 36 Programación Java Java es un lenguaje orientado a objetos n En Java, todo es un objeto. Los objetos se definen en términos de la clase a la que pertenecen String nombre; Persona alumno; n El estado de un objeto se modifica utilizando los métodos de la clase
  • 18. Programación orientada a objetos con Java 37 Programación Java Clases y objetos n Las clases representan objetos de la realidad (dominio) al que se refiere un programa Java n Las clases se definen a partir de un conjunto de atributos y métodos. Cada atributo puede estar limitado a un dominio de valores n Las clases son conceptos abstractos. Los objetos son instancias de las clases, se crean durante la ejecución de los programas
  • 19. Programación orientada a objetos con Java 38 Programación Java Clases y métodos n Los métodos de las clases realizan acciones que modifican las propiedades de los objetos
  • 20. Programación orientada a objetos con Java 39 Programación Java El uso de métodos n Los métodos se utilizan para estructurar un programa Java de forma lógica n El uso de métodos permite dividir un problema en problemas más pequeños que son más fáciles de resolver (“Divide y vencerás”) n Los métodos encapsulan un conjunto de instrucciones que se puede ejecutar tantas veces como sea necesario. El código del método queda oculto y sólo es necesario conocer su interfaz (parámetros y valor de retorno)
  • 21. Programación orientada a objetos con Java 40 Programación Java El uso de métodos n Un método lleva a cabo una tarea específica de diversa naturaleza: input, output o cálculo n Para crear un método se tiene que escribir la declaración del método, el encabezado y el cuerpo. Dentro del cuerpo pueden haber declaraciones de variables y constantes. Si las hay se conocen como variables locales y solo pueden ser utilizadas dentro del método n En otros lenguajes, los métodos se denominan subrutinas o funciones