SlideShare una empresa de Scribd logo
1 de 20
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 I
Programación orientada a objetos con Java 2
Contenido
n Introducción
n La programación orientada a objetos
n Programación Java
n Introspección
n Utilidades de Java
Programación orientada a objetos con Java 3
Introducción
Análisis y diseño orientado a objetos
n La programación orientada a objetos es una técnica de
análisis y diseño que se enfoca en los elementos de un
sistema, sus atributos y responsabilidades
n El modelo abstracto está formado de clases. Una clase
describe a un conjunto de objetos que comparte los
mismos atributos, comportamiento y semántica
n Un objeto es una instancia de una clase
Programación orientada a objetos con Java 4
Programación orientada a objetos
Análisis y diseño orientado a objetos
n Las clases representan un esquema simplificado de la
casuística de un problema determinado
n Para diseñar un sistema orientado a objetos es necesario
responder las siguientes preguntas
n ¿Cuáles son los elementos tangibles de un sistema?
n ¿Cuáles son sus atributos?
n ¿Cuáles son sus responsabilidades?
n ¿Cómo se relacionan los elementos del sistema?
n ¿Qué objeto debe “saber”...?
n ¿Qué objeto debe “hacer”...?
Programación orientada a objetos con Java 5
Programación orientada a objetos
Conceptos básicos
n Encapsulación
n Herencia
n Polimorfismo
Programación orientada a objetos con Java 6
Programación orientada a objetos
Encapsulación
n La encapsulación consiste en formar un “paquete” con los
atributos (variables) y el comportamiento (métodos) de
un objeto
n Los métodos forman la membrana exterior de un objeto y
“esconden” los detalles de implementación al usuario
Programación orientada a objetos con Java 7
Programación orientada a objetos
Encapsulación
n La encapsulación hace que un sistema sea más fácil de
comprender y facilita el mantenimiento de una aplicación
Atributos
Comportamiento
(métodos)
m1
Programación orientada a objetos con Java 8
Programación orientada a objetos
Herencia
n La herencia es la capacidad de una clase para definirse en
términos de otra clase y “heredar” atributos y
responsabilidades de la clase de orden superior
Superclase
Subclases
Bicicleta
Bicicleta
de montaña
Bicicleta
de carreras
Tándem
Programación orientada a objetos con Java 9
Programación orientada a objetos
Polimorfismo
n El polimorfismo permite que distintos objetos
pertenecientes a una misma clase “respondan” de
diferentes formas a un mismo mensaje
n El polimorfismo permite modificar el comportamiento de
un método en cada subclase. En este ejemplo, la
superclase mascota tiene las subclases gato, pato y perro.
El método “saludar” cada subclase es diferente
Hola Miau Cuac Guau
En este ejemplo cada tipo de mascota “saluda” de forma distinta
Programación orientada a objetos con Java 10
Programación orientada a objetos
Encapsulación, herencia y polimorfismo
n La reutilización de código es una de las grandes ventajas
de la programación orientada a objetos
n Reduce el tiempo de desarrollo de aplicaciones e
incrementa la productividad de los ingenieros de software
n Reutilización de clases
n Diseño de una nueva clase a partir de otra (herencia)
Programación orientada a objetos con Java 11
Programación orientada a objetos
Diagramas de clases
n En UML una clase se representa como un rectángulo
dividido en tres partes: el nombre de la clase, sus
atributos y métodos. Las clases abstractas se identifican
por la letra cursiva
n Los métodos de una clase se especifican indicando el tipo
de acceso (+, -, #), el nombre, la lista de parámetros y el
tipo que devuelve
n + Acceso público
n - Acceso privado
n # Acceso protegido
Programación orientada a objetos con Java 12
Programación orientada a objetos
Diagramas de clases
n El diagrama de una clase muestra el nombre de la clase,
sus atributos y métodos
Programación orientada a objetos con Java 13
Programación orientada a objetos
Diagramas de clases
n El diagrama de clases ofrece una vista general de un
sistema, muestra las clases y las relaciones existentes
entre ellas
n El diagrama de clases es estático, muestra las
interacciones entre clases pero no lo que sucede como
resultado de esa interacción
n Cada diagrama se compone de clases y asociaciones.
Cada asociación afecta a un número determinado de
instancias de una clase, denominado “multiplicidad”
Programación orientada a objetos con Java 14
Programación orientada a objetos
Diagramas de clases
Programación orientada a objetos con Java 15
Programación orientada a objetos
Relaciones entre clases
n Asociación. Relaciona instancias de dos clases. Existe una
asociación entre dos clases cuando una instancia de una
clase debe saber sobre otra instancia para llevar a cabo
sus funciones
n Agregación. Es un tipo de asociación donde una clase
pertenece a una colección. Se utiliza un diamante en el
extremo de la asociación de la clase que representa el
todo
n Generalización. Indica una relación de herencia entre dos
clases. Se utiliza un triángulo en el extremo de la relación
para señalar a la superclase
Programación orientada a objetos con Java 16
Programación orientada a objetos
Asociaciones entre clases
n Rol. Se utiliza para aclarar la naturaleza de la asociación
n Navegabilidad. La flecha de la asociación indica la
dirección de navegación
n Multiplicidad. Determina el número posible de instancias
Multipicidad Significado
0..1 Cero o una instancia. La notación n..m indica de n a m instancias
0..* No existe límite de instancias, desde cero hasta un número ilimitado
1 Exactamente una instancia
1..* Al menos una instancia
Programación orientada a objetos con Java 17
Programación orientada a objetos
Asociaciones entre clases
n Agregación: Asociación que relaciona a un objeto que es
parte de otro
n Composición: Agregación fuerte, la parte no puede existir
sin el todo
Programación orientada a objetos con Java 18
Programación orientada a objetos
Dependencias y limitaciones
n Una dependencia es una relación entre dos clases. Si se
produce un cambio en una de ellas puede producir
cambios en la otra. Las dependencias se representan con
líneas de puntos
n Una limitación es una condición que se aplica al diseño.
Las limitaciones se expresan utilizando los símbolos {}
Programación orientada a objetos con Java 19
Programación orientada a objetos
Dependencias y limitaciones
Programación orientada a objetos con Java 20
Programación orientada a objetos
Diagramas de clases
n Las clases se agrupan en paquetes. El uso de paquetes
permite organizar diagramas de clases complejos

Más contenido relacionado

Similar a P1 Programacion orientada a objetos con Java.pptx

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

Modelo diseño
Modelo diseñoModelo diseño
Modelo diseño
 
Programación orientado a objetos miranda burgos, armas martinez
Programación orientado a objetos miranda burgos, armas martinezProgramación orientado a objetos miranda burgos, armas martinez
Programación orientado a objetos miranda burgos, armas martinez
 
Trabajo2
Trabajo2Trabajo2
Trabajo2
 
Introducción a la progrogramación orientada a objetos - UML
Introducción a la progrogramación orientada a objetos - UMLIntroducción a la progrogramación orientada a objetos - UML
Introducción a la progrogramación orientada a objetos - UML
 
Poo
PooPoo
Poo
 
Conceptos poo
Conceptos pooConceptos poo
Conceptos poo
 
Unidad 1 Mad IntroduccióN
Unidad 1 Mad IntroduccióNUnidad 1 Mad IntroduccióN
Unidad 1 Mad IntroduccióN
 
Diagrama de clases
Diagrama de clasesDiagrama de clases
Diagrama de clases
 
Conceptos poo
Conceptos pooConceptos poo
Conceptos poo
 
Intro oo2
Intro oo2Intro oo2
Intro oo2
 
Intro oo2
Intro oo2Intro oo2
Intro oo2
 
Intro oo2
Intro oo2Intro oo2
Intro oo2
 
Conceptos y definiciones de poo (quino ortiz & miguel martinez)
Conceptos y definiciones de poo (quino ortiz & miguel martinez)Conceptos y definiciones de poo (quino ortiz & miguel martinez)
Conceptos y definiciones de poo (quino ortiz & miguel martinez)
 
Modelado con clases instancias
Modelado con clases instanciasModelado con clases instancias
Modelado con clases instancias
 
Introduccionjava
IntroduccionjavaIntroduccionjava
Introduccionjava
 
Análisis y diseño de sistemas de información
Análisis y diseño de sistemas de informaciónAnálisis y diseño de sistemas de información
Análisis y diseño de sistemas de información
 
Diagramas Analisis
Diagramas AnalisisDiagramas Analisis
Diagramas Analisis
 
Programacion orientada a objetos
Programacion orientada a objetosProgramacion orientada a objetos
Programacion orientada a objetos
 
Diagrama de clases
Diagrama de clasesDiagrama de clases
Diagrama de clases
 
programacion orientada a objetos
programacion orientada a objetosprogramacion orientada a objetos
programacion orientada a objetos
 

Más de docmarcoantoniosotov

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.pptxdocmarcoantoniosotov
 
unidad03-variablesconstantesyoperadores-120613162217.pdf
unidad03-variablesconstantesyoperadores-120613162217.pdfunidad03-variablesconstantesyoperadores-120613162217.pdf
unidad03-variablesconstantesyoperadores-120613162217.pdfdocmarcoantoniosotov
 
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.pptxdocmarcoantoniosotov
 
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.pptxdocmarcoantoniosotov
 
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.pptxdocmarcoantoniosotov
 
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.pptxdocmarcoantoniosotov
 
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.pptdocmarcoantoniosotov
 
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.pdfdocmarcoantoniosotov
 
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.pptxdocmarcoantoniosotov
 
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.pptxdocmarcoantoniosotov
 
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.pptxdocmarcoantoniosotov
 
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.pptxdocmarcoantoniosotov
 
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.pptxdocmarcoantoniosotov
 
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.pptxdocmarcoantoniosotov
 
Diapositivas Comunicaciones-Moviles-Parte-II.ppt
Diapositivas Comunicaciones-Moviles-Parte-II.pptDiapositivas Comunicaciones-Moviles-Parte-II.ppt
Diapositivas Comunicaciones-Moviles-Parte-II.pptdocmarcoantoniosotov
 
Diapositivas Comunicaciones-Moviles-Parte-I.ppt
Diapositivas Comunicaciones-Moviles-Parte-I.pptDiapositivas Comunicaciones-Moviles-Parte-I.ppt
Diapositivas Comunicaciones-Moviles-Parte-I.pptdocmarcoantoniosotov
 
PROGRAMACION DE DISPOSITIVOS EMBEBIDOS.pptx
PROGRAMACION DE DISPOSITIVOS EMBEBIDOS.pptxPROGRAMACION DE DISPOSITIVOS EMBEBIDOS.pptx
PROGRAMACION DE DISPOSITIVOS EMBEBIDOS.pptxdocmarcoantoniosotov
 
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.pdfdocmarcoantoniosotov
 
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.pptxdocmarcoantoniosotov
 
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.pptxdocmarcoantoniosotov
 

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
 
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
 
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
 

Último

Estrategias de enseñanza-aprendizaje virtual.pptx
Estrategias de enseñanza-aprendizaje virtual.pptxEstrategias de enseñanza-aprendizaje virtual.pptx
Estrategias de enseñanza-aprendizaje virtual.pptxdkmeza
 
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdf
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdfGUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdf
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdfPaolaRopero2
 
Programacion Anual Matemática4 MPG 2024 Ccesa007.pdf
Programacion Anual Matemática4    MPG 2024  Ccesa007.pdfProgramacion Anual Matemática4    MPG 2024  Ccesa007.pdf
Programacion Anual Matemática4 MPG 2024 Ccesa007.pdfDemetrio Ccesa Rayme
 
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Ángel Encinas
 
plan de capacitacion docente AIP 2024 clllll.pdf
plan de capacitacion docente  AIP 2024          clllll.pdfplan de capacitacion docente  AIP 2024          clllll.pdf
plan de capacitacion docente AIP 2024 clllll.pdfenelcielosiempre
 
Ley 21.545 - Circular Nº 586.pdf circular
Ley 21.545 - Circular Nº 586.pdf circularLey 21.545 - Circular Nº 586.pdf circular
Ley 21.545 - Circular Nº 586.pdf circularMooPandrea
 
CALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADCALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADauxsoporte
 
MAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMarjorie Burga
 
PLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docxPLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docxlupitavic
 
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptxSEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptxYadi Campos
 
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptxTIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptxlclcarmen
 
Qué es la Inteligencia artificial generativa
Qué es la Inteligencia artificial generativaQué es la Inteligencia artificial generativa
Qué es la Inteligencia artificial generativaDecaunlz
 
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.pdfDemetrio Ccesa Rayme
 
ORGANIZACIÓN SOCIAL INCA EN EL TAHUANTINSUYO.pptx
ORGANIZACIÓN SOCIAL INCA EN EL TAHUANTINSUYO.pptxORGANIZACIÓN SOCIAL INCA EN EL TAHUANTINSUYO.pptx
ORGANIZACIÓN SOCIAL INCA EN EL TAHUANTINSUYO.pptxnandoapperscabanilla
 
plande accion dl aula de innovación pedagogica 2024.pdf
plande accion dl aula de innovación pedagogica 2024.pdfplande accion dl aula de innovación pedagogica 2024.pdf
plande accion dl aula de innovación pedagogica 2024.pdfenelcielosiempre
 
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.pdfAngélica Soledad Vega Ramírez
 
Registro Auxiliar - Primaria 2024 (1).pptx
Registro Auxiliar - Primaria  2024 (1).pptxRegistro Auxiliar - Primaria  2024 (1).pptx
Registro Auxiliar - Primaria 2024 (1).pptxFelicitasAsuncionDia
 

Último (20)

Estrategias de enseñanza-aprendizaje virtual.pptx
Estrategias de enseñanza-aprendizaje virtual.pptxEstrategias de enseñanza-aprendizaje virtual.pptx
Estrategias de enseñanza-aprendizaje virtual.pptx
 
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdf
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdfGUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdf
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdf
 
Programacion Anual Matemática4 MPG 2024 Ccesa007.pdf
Programacion Anual Matemática4    MPG 2024  Ccesa007.pdfProgramacion Anual Matemática4    MPG 2024  Ccesa007.pdf
Programacion Anual Matemática4 MPG 2024 Ccesa007.pdf
 
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
 
plan de capacitacion docente AIP 2024 clllll.pdf
plan de capacitacion docente  AIP 2024          clllll.pdfplan de capacitacion docente  AIP 2024          clllll.pdf
plan de capacitacion docente AIP 2024 clllll.pdf
 
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
 
Ley 21.545 - Circular Nº 586.pdf circular
Ley 21.545 - Circular Nº 586.pdf circularLey 21.545 - Circular Nº 586.pdf circular
Ley 21.545 - Circular Nº 586.pdf circular
 
CALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADCALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDAD
 
MAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grande
 
PLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docxPLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docx
 
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptxSEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
 
Sesión de clase: Fe contra todo pronóstico
Sesión de clase: Fe contra todo pronósticoSesión de clase: Fe contra todo pronóstico
Sesión de clase: Fe contra todo pronóstico
 
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptxTIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
 
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
 
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
 
ORGANIZACIÓN SOCIAL INCA EN EL TAHUANTINSUYO.pptx
ORGANIZACIÓN SOCIAL INCA EN EL TAHUANTINSUYO.pptxORGANIZACIÓN SOCIAL INCA EN EL TAHUANTINSUYO.pptx
ORGANIZACIÓN SOCIAL INCA EN EL TAHUANTINSUYO.pptx
 
plande accion dl aula de innovación pedagogica 2024.pdf
plande accion dl aula de innovación pedagogica 2024.pdfplande accion dl aula de innovación pedagogica 2024.pdf
plande accion dl aula de innovación pedagogica 2024.pdf
 
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
 
Registro Auxiliar - Primaria 2024 (1).pptx
Registro Auxiliar - Primaria  2024 (1).pptxRegistro Auxiliar - Primaria  2024 (1).pptx
Registro Auxiliar - Primaria 2024 (1).pptx
 

P1 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 I
  • 2. Programación orientada a objetos con Java 2 Contenido n Introducción n La programación orientada a objetos n Programación Java n Introspección n Utilidades de Java
  • 3. Programación orientada a objetos con Java 3 Introducción Análisis y diseño orientado a objetos n La programación orientada a objetos es una técnica de análisis y diseño que se enfoca en los elementos de un sistema, sus atributos y responsabilidades n El modelo abstracto está formado de clases. Una clase describe a un conjunto de objetos que comparte los mismos atributos, comportamiento y semántica n Un objeto es una instancia de una clase
  • 4. Programación orientada a objetos con Java 4 Programación orientada a objetos Análisis y diseño orientado a objetos n Las clases representan un esquema simplificado de la casuística de un problema determinado n Para diseñar un sistema orientado a objetos es necesario responder las siguientes preguntas n ¿Cuáles son los elementos tangibles de un sistema? n ¿Cuáles son sus atributos? n ¿Cuáles son sus responsabilidades? n ¿Cómo se relacionan los elementos del sistema? n ¿Qué objeto debe “saber”...? n ¿Qué objeto debe “hacer”...?
  • 5. Programación orientada a objetos con Java 5 Programación orientada a objetos Conceptos básicos n Encapsulación n Herencia n Polimorfismo
  • 6. Programación orientada a objetos con Java 6 Programación orientada a objetos Encapsulación n La encapsulación consiste en formar un “paquete” con los atributos (variables) y el comportamiento (métodos) de un objeto n Los métodos forman la membrana exterior de un objeto y “esconden” los detalles de implementación al usuario
  • 7. Programación orientada a objetos con Java 7 Programación orientada a objetos Encapsulación n La encapsulación hace que un sistema sea más fácil de comprender y facilita el mantenimiento de una aplicación Atributos Comportamiento (métodos) m1
  • 8. Programación orientada a objetos con Java 8 Programación orientada a objetos Herencia n La herencia es la capacidad de una clase para definirse en términos de otra clase y “heredar” atributos y responsabilidades de la clase de orden superior Superclase Subclases Bicicleta Bicicleta de montaña Bicicleta de carreras Tándem
  • 9. Programación orientada a objetos con Java 9 Programación orientada a objetos Polimorfismo n El polimorfismo permite que distintos objetos pertenecientes a una misma clase “respondan” de diferentes formas a un mismo mensaje n El polimorfismo permite modificar el comportamiento de un método en cada subclase. En este ejemplo, la superclase mascota tiene las subclases gato, pato y perro. El método “saludar” cada subclase es diferente Hola Miau Cuac Guau En este ejemplo cada tipo de mascota “saluda” de forma distinta
  • 10. Programación orientada a objetos con Java 10 Programación orientada a objetos Encapsulación, herencia y polimorfismo n La reutilización de código es una de las grandes ventajas de la programación orientada a objetos n Reduce el tiempo de desarrollo de aplicaciones e incrementa la productividad de los ingenieros de software n Reutilización de clases n Diseño de una nueva clase a partir de otra (herencia)
  • 11. Programación orientada a objetos con Java 11 Programación orientada a objetos Diagramas de clases n En UML una clase se representa como un rectángulo dividido en tres partes: el nombre de la clase, sus atributos y métodos. Las clases abstractas se identifican por la letra cursiva n Los métodos de una clase se especifican indicando el tipo de acceso (+, -, #), el nombre, la lista de parámetros y el tipo que devuelve n + Acceso público n - Acceso privado n # Acceso protegido
  • 12. Programación orientada a objetos con Java 12 Programación orientada a objetos Diagramas de clases n El diagrama de una clase muestra el nombre de la clase, sus atributos y métodos
  • 13. Programación orientada a objetos con Java 13 Programación orientada a objetos Diagramas de clases n El diagrama de clases ofrece una vista general de un sistema, muestra las clases y las relaciones existentes entre ellas n El diagrama de clases es estático, muestra las interacciones entre clases pero no lo que sucede como resultado de esa interacción n Cada diagrama se compone de clases y asociaciones. Cada asociación afecta a un número determinado de instancias de una clase, denominado “multiplicidad”
  • 14. Programación orientada a objetos con Java 14 Programación orientada a objetos Diagramas de clases
  • 15. Programación orientada a objetos con Java 15 Programación orientada a objetos Relaciones entre clases n Asociación. Relaciona instancias de dos clases. Existe una asociación entre dos clases cuando una instancia de una clase debe saber sobre otra instancia para llevar a cabo sus funciones n Agregación. Es un tipo de asociación donde una clase pertenece a una colección. Se utiliza un diamante en el extremo de la asociación de la clase que representa el todo n Generalización. Indica una relación de herencia entre dos clases. Se utiliza un triángulo en el extremo de la relación para señalar a la superclase
  • 16. Programación orientada a objetos con Java 16 Programación orientada a objetos Asociaciones entre clases n Rol. Se utiliza para aclarar la naturaleza de la asociación n Navegabilidad. La flecha de la asociación indica la dirección de navegación n Multiplicidad. Determina el número posible de instancias Multipicidad Significado 0..1 Cero o una instancia. La notación n..m indica de n a m instancias 0..* No existe límite de instancias, desde cero hasta un número ilimitado 1 Exactamente una instancia 1..* Al menos una instancia
  • 17. Programación orientada a objetos con Java 17 Programación orientada a objetos Asociaciones entre clases n Agregación: Asociación que relaciona a un objeto que es parte de otro n Composición: Agregación fuerte, la parte no puede existir sin el todo
  • 18. Programación orientada a objetos con Java 18 Programación orientada a objetos Dependencias y limitaciones n Una dependencia es una relación entre dos clases. Si se produce un cambio en una de ellas puede producir cambios en la otra. Las dependencias se representan con líneas de puntos n Una limitación es una condición que se aplica al diseño. Las limitaciones se expresan utilizando los símbolos {}
  • 19. Programación orientada a objetos con Java 19 Programación orientada a objetos Dependencias y limitaciones
  • 20. Programación orientada a objetos con Java 20 Programación orientada a objetos Diagramas de clases n Las clases se agrupan en paquetes. El uso de paquetes permite organizar diagramas de clases complejos