SlideShare una empresa de Scribd logo
ENTERPRISE JAVA DEVELOPER
JAVA ORIENTADO A OBJETOS
Eric Gustavo Coronel Castillo
gcoronelc.blogspot.com
INTRODUCCIÓN
Temas
 Historia
 Ciclo de Vida del Software
 Metodologías
 Guerra de Métodos
 Metodologías Ágiles
 Abstracción
 Clase
 Objeto
 Encapsulamiento
 Herencia
 Polimorfismo
 Mensaje
 Conclusiones
Historia
 Simula 1964: Lenguaje de simulación, ha influido en el
desarrollo de otros LPOO.
 SmallTalk 1972: LPOO puro, todo es un objeto, los objetos
se comunican mediante mensajes, todo objeto se instancia
de una clase, las clases se organizan en jerarquía
(herencia).
 C++ 1985: LPOO híbrido nace del lenguaje estructurado C.
 Object Pascal (Delphi) 1985: LPOO híbrido nace del
lenguaje estructurado Pascal.
 PHP 1994: Exclusivamente desarrollo Web.
 Java 1995: Centrado en la Web.
 C# 2000: Nuevo lenguaje basado en la tecnología .NET
 VB.NET 2000: LPOO híbrido nace del lenguaje VB.
Ciclo de Vida del Software
 Requerimiento: Concepción de un problema a resolver
 Análisis: ¿Qué? (entender el problema / cuestionarios y preguntar)
 Diseño: ¿Como? (Resolver el problema / prototipos y modelos)
 Implementación: ¿Hacerlo? (Codificación / Programarlo)
 Pruebas: ¿Funciona? (Verificar / Comprobar)
 Despliegue: ¿Instalar? (Distribuir el software)
Problema
Requerimiento
Análisis
Diseño
Implementación
Pruebas
Despliegue
Metodologías
 Metodología Estructurada: Orientada a los procesos, Metodología antigua, usa
lenguajes estructurados (Pascal, Foxpro, C, etc.), exponentes de esta metodología
(Yourdon, DeMarco, Gane y Sarson), Notación utilizada (DFD, ER, etc.)
Metodologías
 Metodología Orientada a Objetos: Orientada a los objeto, Metodología moderna, usa
lenguajes de programación orientados a objetos (C#, Java, PHP, etc), exponentes de
esta metodología (Booch (OOAD), Jacobson (OOSE), Rumbaugh (OMT), nace RUP,
MSF, XP, Notación estándar UML (estandarizado por OMG en 1997)
Cliente
Pedido
Vendedor
Consultar Productos
Diagrama de Caso de Uso
: Vendedor : IUPedido : Pedido: Producto
Seleccionar productos
Trer(ID )
Retorna datos del producto
Guardar producto
Guardar(Detalle)
Retorna NroPedido
Diagrama de Secuencia
Pedido
+ Guardar(Detalle)()
IUPedido
Producto
+ Traer()
Diagrama de Clases
Guerra de Métodos
 Entre los años 80 e inicio de los 90, las metodología orientada a objetos comenzaba a
madurar como un enfoque de desarrollo de software.
 Empezaron a surgir diferentes métodos de análisis y diseño orientado a objetos, entre los
que destacan los métodos Booch, OOSE (Object Oriented Software Engineering) , OMT
(Object Modeling Technique), Taylor, Coad /Yourdon entre otros.
 En julio de 1993, Jacobson criticó en lo que en él denominaba “La Guerra de los
métodos” y planteo la necesidad de llegar a una notación estándar de modelado, para
evitar la confusión reinante y favorecer el uso de los métodos de software.
 Para poner fin a “La Guerra de métodos" que se presentó en ese momento, se creó el
Lenguaje Unificado de Modelado (UML).
Guerra de Métodos
Clase
Atributos
Operaciones
BOOCH’93
Notaciones OO
OMT (Rumbaugh)
Clase
Atributos
Operaciones
TAYLOR
Clase
Método
Atributo
Notación estándar UML
Clase
+ Atributos
+ Operaciones
Metodología Ágil
 Está preparada para adecuarse rápidamente a cambios y
mejoras.
 Significa trabajar muy cerca del cliente, realizar entregas que el
cliente pueda utilizar en cortos periodos de tiempo y recibir
retroalimentación constante.
Metodología Ágil
SCRUM
Metodología Ágil
KANBAN
Abstracción
 Consiste en capturar, percibir y clasificar las características (datos-atributos) y
comportamientos (operaciones) necesarias (relevantes) del mundo real (proceso a
sistematizar) para dar solución al problema.
Abstracción
Persona
+ Nombre : String
+ Edad : Integer
+ Profesion : String
+ Caminar()
+ Correr()
+ Cantar() : String
Animal
+ Raza : String
+ Genero : String
+ Comer()
Transporte
+ Tipo : String
+ Marca : String
+ Año : Integer
+ Encender() : Boolean
+ Acelerar(Velocidad : Integer)
Notación UML
Clase
 Es la clasificación de las características y comportamientos comunes de objetos del
mismo tipo.
 En la POO se dice que es la plantilla genérica para un conjunto de objetos con las
mismas características.
Persona
+ Nombre : String
+ Edad : Integer
+ Profesion : String
+ Caminar()
+ Correr()
+ Cantar() : String
Clasificación
Notación UML
CLASE
Nombre de la clase
Atributos
Operaciones
Objeto
 Es la representación concreta y detallada de algo en particular, tal representación
determina su identidad (nombre único para distinguir un objeto de otro), su estado
(conjunto de valores que caracterizan al objeto en un momento dado) y su
comportamiento (conjunto de funciones que el objeto puede llevar a cabo).
 Los objetos son instancias de clases (una instancia es un objeto)
Persona
+ Nombre : String
+ Edad : Integer
+ Profesion : String
+ Caminar()
+ Correr()
+ Cantar() : String
Notación UML OBJETO
objPersona1 : Persona
+ Nombre : Jennifer
+ Edad : 32
+ Profesion : Cantante
+ Caminar()
+ Correr()
+ Cantar():String
objPersona2 : Persona
+ Nombre : Zidane
+ Edad : 36
+ Profesion : Futbolista
+ Caminar()
+ Correr()
+ Cantar():String
Notación UML CLASE
Encapsulamiento
 Oculta la complejidad, es considerada como la caja negra, solo se conoce el
comportamiento pero no su detalle interno.
 En la POO nos interesa saber que hace un objeto y no como lo hace.
Persona
+ Nombre : String
+ Edad : Integer
+ Profesion : String
+ Caminar()
+ Correr()
+ Cantar() : String
Correr
Implementa su propia
técnica para correr y se
desconoce como lo hace.
Herencia
 Es la característica mas representativa de la POO, y permite reutilizar objetos para
construir nuevos objetos.
 En la herencia se observa que existen clases genéricas (padre/superclase) que
agrupan características y comportamientos similares para un conjunto de objetos y
clases derivadas (hija/subclase) que extienden o redefinen la clase genérica.
Notación UML
GEENERAZALIZACIÓN o
ESPECIALIZACIÓN (HERENCIA)
SuperClase
(Clase genérica)
SubClase
(Clase especializada)
SubClase
(Clase especializada)
Polimorfismo
 Es la capacidad que tienen los objetos de responder al mismo mensaje de diferente
formas.
 Operaciones con el mismo nombre pero con implementación diferente.
comer ( ) comer ( )
Mensaje
 Es la invocación de un comportamiento (operación) que incorpora el objeto.
 Se dice que el objeto es inútil si esta aislado.
 El medio para que un objeto interactué con otro, es el envió de mensajes.
Jennifer usando su llave envía el
mensaje de Encender su Auto
: Persona : Transporte
Encender( )
Conclusiones
 La POO permite reutilizar funcionalidades (código) y hace
más fácil el mantenimiento del código.
 Una aplicación usará varios objetos para cumplir su objetivo,
es decir es un rompecabezas de objetos.
 Los objetos pueden reutilizarse en muchas aplicaciones.
 Para modelar, construir, documentar se utiliza una notación
estándar llamada UML, que todo desarrollador debe
entender (Leer e Interpretar) para programar en un lenguaje
de Programación Orientado a Objetos.
Java OO: Introducción
Dirección de descarga: https://goo.gl/TDgc5R
ENTERPRISE JAVA DEVELOPER
JAVA ORIENTADO A OBJETOS
Eric Gustavo Coronel Castillo
gcoronelc.blogspot.com
Gracias

Más contenido relacionado

PDF
JAVA ORIENTADO A OBJETOS - INTRODUCCIÓN
PDF
JAVA OO - TEMA 01 - CLASES Y OBJETOS
PDF
JAVA ORIENTADO A OBJETOS - CLASES Y OBJETOS
PPT
programacion orientada a objetos
PPT
Programación Orientada a Objetos
PDF
Java OO - Tema 06 - Interfaces
PPT
Conceptos poo progra visual
PDF
JAVA OO - TEMA 02 - MIEMBROS DE CLASE
JAVA ORIENTADO A OBJETOS - INTRODUCCIÓN
JAVA OO - TEMA 01 - CLASES Y OBJETOS
JAVA ORIENTADO A OBJETOS - CLASES Y OBJETOS
programacion orientada a objetos
Programación Orientada a Objetos
Java OO - Tema 06 - Interfaces
Conceptos poo progra visual
JAVA OO - TEMA 02 - MIEMBROS DE CLASE

La actualidad más candente (20)

PPTX
Herencia poo
PPT
Propiedades De La Poo
 
PDF
Poo en java herencia
PDF
PROGRAMACIÓN ORIENTADA A OBJETOS
PPTX
Unidad1 y 2
PPT
Unidad 2 ProgramacióN Orientada A Objetos (Repaso)
PDF
Metodología de la programación orientada a objetos con c++ prev
PPTX
Programacion Orientada a Objetos
PDF
Programación orientada a objetos
PPT
Qué es la poo
PDF
Unidad 2 clases y objetos
PPT
Definicion De Subclases Y Herencia H F M
DOC
Clases y subclases
PDF
JAVA 00 - TEMA 05 - HERENCIA
PPT
Poo 3 herencia
PDF
Definición de clases en POO
PDF
Encapsulamiento
PDF
Programación Orientada a Objetos en Java - Parte I 2015
PPT
PDF
8.Clases y objetos Java
Herencia poo
Propiedades De La Poo
 
Poo en java herencia
PROGRAMACIÓN ORIENTADA A OBJETOS
Unidad1 y 2
Unidad 2 ProgramacióN Orientada A Objetos (Repaso)
Metodología de la programación orientada a objetos con c++ prev
Programacion Orientada a Objetos
Programación orientada a objetos
Qué es la poo
Unidad 2 clases y objetos
Definicion De Subclases Y Herencia H F M
Clases y subclases
JAVA 00 - TEMA 05 - HERENCIA
Poo 3 herencia
Definición de clases en POO
Encapsulamiento
Programación Orientada a Objetos en Java - Parte I 2015
8.Clases y objetos Java
Publicidad

Similar a Java OO: Introducción (20)

PPTX
Fundamentos de POODE CAIDAD DEL SOFTWARE.pptx
PPT
programación orientada a objetos, definiciones ,etc
PPT
Fundamentos de Programación Orientada a Objetos.ppt
PPT
Programación Orientada a Objetos con ul lenguaje de programacion.ppt
PPT
Programación Orientada a Objetos POOOOOO
PPT
Programación Orientada a Objetos.ppt
PPT
Programación Orientada a Objetos explicacion.ppt
PPT
Programación Orientada a Objetos.ppt
PPT
Introduccion Programación Orientada a Objetos.ppt
PPTX
Programación Orientada a Objetos paradigma.pptx
PPT
Programación Orientada a Objetos.ppt
PPT
Programación Orientada a Objetos.. .....
PPT
Programación Orientada a Objetos fases.ppt
PPT
Tema 1 2_poo
PDF
Desarrollo de Aplicaciones Web II - Sesión 05 - Evolución de los lenguajes PO...
PPT
Programación Orientada a Objetos.ppt
PPTX
Paradigma de Programación Orientado a Objetos
PPT
Programación Orientada a Objetos para estudiantes de sistemas
PPTX
programacinorientadaaobjetos-24071321364
PPT
Introduccion orientaciona objetos
Fundamentos de POODE CAIDAD DEL SOFTWARE.pptx
programación orientada a objetos, definiciones ,etc
Fundamentos de Programación Orientada a Objetos.ppt
Programación Orientada a Objetos con ul lenguaje de programacion.ppt
Programación Orientada a Objetos POOOOOO
Programación Orientada a Objetos.ppt
Programación Orientada a Objetos explicacion.ppt
Programación Orientada a Objetos.ppt
Introduccion Programación Orientada a Objetos.ppt
Programación Orientada a Objetos paradigma.pptx
Programación Orientada a Objetos.ppt
Programación Orientada a Objetos.. .....
Programación Orientada a Objetos fases.ppt
Tema 1 2_poo
Desarrollo de Aplicaciones Web II - Sesión 05 - Evolución de los lenguajes PO...
Programación Orientada a Objetos.ppt
Paradigma de Programación Orientado a Objetos
Programación Orientada a Objetos para estudiantes de sistemas
programacinorientadaaobjetos-24071321364
Introduccion orientaciona objetos
Publicidad

Más de Eric Gustavo Coronel Castillo (20)

PDF
Model View Controller - MVC
PDF
PDF
Java Web: Servlets
PDF
Java Web - Presentación
PDF
JAVA ORIENTADO A OBJETOS - EXCEPCIONES
PDF
JAVA ORIENTADO A OBJETOS - COLECCIONES
PDF
JAVA ORIENTADO A OBJETOS - ARREGLOS
PDF
JAVA ORIENTADO A OBJETOS - INTERFACES
PDF
JAVA ORIENTADO A OBJETOS - HERENCIA
PDF
JAVA ORIENTADO A OBJETOS - ALCANCE DE CLASE
PDF
JAVA ORIENTADO A OBJETOS - SOBRECARGA
PDF
JAVA ORIENTADO A OBJETOS - MIEMBROS DE CLASE
PDF
Cursos Virtuales con Gustavo Coronel en UDEMY
PDF
Buenas practicas para el Desarrollo de Software
PDF
JAVA OO - TEMA 08 - COLECCIONES
PDF
EL MODELO DIRECTO DE DELL: TODO LO QUE HAY SOBRE LA INFORMACION
PDF
Model View Controller - MVC
Java Web: Servlets
Java Web - Presentación
JAVA ORIENTADO A OBJETOS - EXCEPCIONES
JAVA ORIENTADO A OBJETOS - COLECCIONES
JAVA ORIENTADO A OBJETOS - ARREGLOS
JAVA ORIENTADO A OBJETOS - INTERFACES
JAVA ORIENTADO A OBJETOS - HERENCIA
JAVA ORIENTADO A OBJETOS - ALCANCE DE CLASE
JAVA ORIENTADO A OBJETOS - SOBRECARGA
JAVA ORIENTADO A OBJETOS - MIEMBROS DE CLASE
Cursos Virtuales con Gustavo Coronel en UDEMY
Buenas practicas para el Desarrollo de Software
JAVA OO - TEMA 08 - COLECCIONES
EL MODELO DIRECTO DE DELL: TODO LO QUE HAY SOBRE LA INFORMACION

Último (11)

PPTX
Fundamentos de Python - Curso de Python dia 1
PPTX
Derechos_de_Autor_y_Creative_Commons.pptx
PPTX
sistemas de informacion.................
PPTX
Conceptos basicos de Base de Datos y sus propiedades
PPTX
Implementación equipo monitor12.08.25.pptx
PDF
Clase 3 - Presentación visual (Insertando objetos visuales) POWER POINT.pdf
PPTX
ORIGEN DE LA IA - GRADO 1102 INTELIGENCIA
PPTX
Tratará sobre Grafos_y_Arboles_Presentacion.pptx
DOCX
trabajo programacion.docxxdxxxddxdxxdxdxxxdxxdxdxd
PDF
Su punto de partida en la IA: Microsoft 365 Copilot Chat
PDF
AutoCAD Herramientas para el futuro, Juan Fandiño
Fundamentos de Python - Curso de Python dia 1
Derechos_de_Autor_y_Creative_Commons.pptx
sistemas de informacion.................
Conceptos basicos de Base de Datos y sus propiedades
Implementación equipo monitor12.08.25.pptx
Clase 3 - Presentación visual (Insertando objetos visuales) POWER POINT.pdf
ORIGEN DE LA IA - GRADO 1102 INTELIGENCIA
Tratará sobre Grafos_y_Arboles_Presentacion.pptx
trabajo programacion.docxxdxxxddxdxxdxdxxxdxxdxdxd
Su punto de partida en la IA: Microsoft 365 Copilot Chat
AutoCAD Herramientas para el futuro, Juan Fandiño

Java OO: Introducción

  • 1. ENTERPRISE JAVA DEVELOPER JAVA ORIENTADO A OBJETOS Eric Gustavo Coronel Castillo gcoronelc.blogspot.com INTRODUCCIÓN
  • 2. Temas  Historia  Ciclo de Vida del Software  Metodologías  Guerra de Métodos  Metodologías Ágiles  Abstracción  Clase  Objeto  Encapsulamiento  Herencia  Polimorfismo  Mensaje  Conclusiones
  • 3. Historia  Simula 1964: Lenguaje de simulación, ha influido en el desarrollo de otros LPOO.  SmallTalk 1972: LPOO puro, todo es un objeto, los objetos se comunican mediante mensajes, todo objeto se instancia de una clase, las clases se organizan en jerarquía (herencia).  C++ 1985: LPOO híbrido nace del lenguaje estructurado C.  Object Pascal (Delphi) 1985: LPOO híbrido nace del lenguaje estructurado Pascal.  PHP 1994: Exclusivamente desarrollo Web.  Java 1995: Centrado en la Web.  C# 2000: Nuevo lenguaje basado en la tecnología .NET  VB.NET 2000: LPOO híbrido nace del lenguaje VB.
  • 4. Ciclo de Vida del Software  Requerimiento: Concepción de un problema a resolver  Análisis: ¿Qué? (entender el problema / cuestionarios y preguntar)  Diseño: ¿Como? (Resolver el problema / prototipos y modelos)  Implementación: ¿Hacerlo? (Codificación / Programarlo)  Pruebas: ¿Funciona? (Verificar / Comprobar)  Despliegue: ¿Instalar? (Distribuir el software) Problema Requerimiento Análisis Diseño Implementación Pruebas Despliegue
  • 5. Metodologías  Metodología Estructurada: Orientada a los procesos, Metodología antigua, usa lenguajes estructurados (Pascal, Foxpro, C, etc.), exponentes de esta metodología (Yourdon, DeMarco, Gane y Sarson), Notación utilizada (DFD, ER, etc.)
  • 6. Metodologías  Metodología Orientada a Objetos: Orientada a los objeto, Metodología moderna, usa lenguajes de programación orientados a objetos (C#, Java, PHP, etc), exponentes de esta metodología (Booch (OOAD), Jacobson (OOSE), Rumbaugh (OMT), nace RUP, MSF, XP, Notación estándar UML (estandarizado por OMG en 1997) Cliente Pedido Vendedor Consultar Productos Diagrama de Caso de Uso : Vendedor : IUPedido : Pedido: Producto Seleccionar productos Trer(ID ) Retorna datos del producto Guardar producto Guardar(Detalle) Retorna NroPedido Diagrama de Secuencia Pedido + Guardar(Detalle)() IUPedido Producto + Traer() Diagrama de Clases
  • 7. Guerra de Métodos  Entre los años 80 e inicio de los 90, las metodología orientada a objetos comenzaba a madurar como un enfoque de desarrollo de software.  Empezaron a surgir diferentes métodos de análisis y diseño orientado a objetos, entre los que destacan los métodos Booch, OOSE (Object Oriented Software Engineering) , OMT (Object Modeling Technique), Taylor, Coad /Yourdon entre otros.  En julio de 1993, Jacobson criticó en lo que en él denominaba “La Guerra de los métodos” y planteo la necesidad de llegar a una notación estándar de modelado, para evitar la confusión reinante y favorecer el uso de los métodos de software.  Para poner fin a “La Guerra de métodos" que se presentó en ese momento, se creó el Lenguaje Unificado de Modelado (UML).
  • 8. Guerra de Métodos Clase Atributos Operaciones BOOCH’93 Notaciones OO OMT (Rumbaugh) Clase Atributos Operaciones TAYLOR Clase Método Atributo Notación estándar UML Clase + Atributos + Operaciones
  • 9. Metodología Ágil  Está preparada para adecuarse rápidamente a cambios y mejoras.  Significa trabajar muy cerca del cliente, realizar entregas que el cliente pueda utilizar en cortos periodos de tiempo y recibir retroalimentación constante.
  • 12. Abstracción  Consiste en capturar, percibir y clasificar las características (datos-atributos) y comportamientos (operaciones) necesarias (relevantes) del mundo real (proceso a sistematizar) para dar solución al problema. Abstracción Persona + Nombre : String + Edad : Integer + Profesion : String + Caminar() + Correr() + Cantar() : String Animal + Raza : String + Genero : String + Comer() Transporte + Tipo : String + Marca : String + Año : Integer + Encender() : Boolean + Acelerar(Velocidad : Integer) Notación UML
  • 13. Clase  Es la clasificación de las características y comportamientos comunes de objetos del mismo tipo.  En la POO se dice que es la plantilla genérica para un conjunto de objetos con las mismas características. Persona + Nombre : String + Edad : Integer + Profesion : String + Caminar() + Correr() + Cantar() : String Clasificación Notación UML CLASE Nombre de la clase Atributos Operaciones
  • 14. Objeto  Es la representación concreta y detallada de algo en particular, tal representación determina su identidad (nombre único para distinguir un objeto de otro), su estado (conjunto de valores que caracterizan al objeto en un momento dado) y su comportamiento (conjunto de funciones que el objeto puede llevar a cabo).  Los objetos son instancias de clases (una instancia es un objeto) Persona + Nombre : String + Edad : Integer + Profesion : String + Caminar() + Correr() + Cantar() : String Notación UML OBJETO objPersona1 : Persona + Nombre : Jennifer + Edad : 32 + Profesion : Cantante + Caminar() + Correr() + Cantar():String objPersona2 : Persona + Nombre : Zidane + Edad : 36 + Profesion : Futbolista + Caminar() + Correr() + Cantar():String Notación UML CLASE
  • 15. Encapsulamiento  Oculta la complejidad, es considerada como la caja negra, solo se conoce el comportamiento pero no su detalle interno.  En la POO nos interesa saber que hace un objeto y no como lo hace. Persona + Nombre : String + Edad : Integer + Profesion : String + Caminar() + Correr() + Cantar() : String Correr Implementa su propia técnica para correr y se desconoce como lo hace.
  • 16. Herencia  Es la característica mas representativa de la POO, y permite reutilizar objetos para construir nuevos objetos.  En la herencia se observa que existen clases genéricas (padre/superclase) que agrupan características y comportamientos similares para un conjunto de objetos y clases derivadas (hija/subclase) que extienden o redefinen la clase genérica. Notación UML GEENERAZALIZACIÓN o ESPECIALIZACIÓN (HERENCIA) SuperClase (Clase genérica) SubClase (Clase especializada) SubClase (Clase especializada)
  • 17. Polimorfismo  Es la capacidad que tienen los objetos de responder al mismo mensaje de diferente formas.  Operaciones con el mismo nombre pero con implementación diferente. comer ( ) comer ( )
  • 18. Mensaje  Es la invocación de un comportamiento (operación) que incorpora el objeto.  Se dice que el objeto es inútil si esta aislado.  El medio para que un objeto interactué con otro, es el envió de mensajes. Jennifer usando su llave envía el mensaje de Encender su Auto : Persona : Transporte Encender( )
  • 19. Conclusiones  La POO permite reutilizar funcionalidades (código) y hace más fácil el mantenimiento del código.  Una aplicación usará varios objetos para cumplir su objetivo, es decir es un rompecabezas de objetos.  Los objetos pueden reutilizarse en muchas aplicaciones.  Para modelar, construir, documentar se utiliza una notación estándar llamada UML, que todo desarrollador debe entender (Leer e Interpretar) para programar en un lenguaje de Programación Orientado a Objetos.
  • 21. Dirección de descarga: https://goo.gl/TDgc5R
  • 22. ENTERPRISE JAVA DEVELOPER JAVA ORIENTADO A OBJETOS Eric Gustavo Coronel Castillo gcoronelc.blogspot.com Gracias