SlideShare une entreprise Scribd logo
1  sur  22
Télécharger pour lire hors ligne
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.
Dirección de descarga: https://goo.gl/TDgc5R
ENTERPRISE JAVA DEVELOPER
JAVA ORIENTADO A OBJETOS
Eric Gustavo Coronel Castillo
gcoronelc.blogspot.com
Gracias

Contenu connexe

Tendances

Tendances (20)

Herencia poo
Herencia pooHerencia poo
Herencia poo
 
Propiedades De La Poo
Propiedades De La PooPropiedades De La Poo
Propiedades De La Poo
 
Poo en java herencia
Poo en java   herenciaPoo en java   herencia
Poo en java herencia
 
PROGRAMACIÓN ORIENTADA A OBJETOS
PROGRAMACIÓN ORIENTADA A OBJETOSPROGRAMACIÓN ORIENTADA A OBJETOS
PROGRAMACIÓN ORIENTADA A OBJETOS
 
Unidad1 y 2
Unidad1 y 2Unidad1 y 2
Unidad1 y 2
 
Unidad 2 ProgramacióN Orientada A Objetos (Repaso)
Unidad 2 ProgramacióN Orientada A Objetos (Repaso)Unidad 2 ProgramacióN Orientada A Objetos (Repaso)
Unidad 2 ProgramacióN Orientada A Objetos (Repaso)
 
Metodología de la programación orientada a objetos con c++ prev
Metodología de la programación orientada a objetos con c++ prevMetodología de la programación orientada a objetos con c++ prev
Metodología de la programación orientada a objetos con c++ prev
 
Programacion Orientada a Objetos
Programacion Orientada a ObjetosProgramacion Orientada a Objetos
Programacion Orientada a Objetos
 
Programación orientada a objetos
Programación orientada a objetosProgramación orientada a objetos
Programación orientada a objetos
 
Qué es la poo
Qué es la pooQué es la poo
Qué es la poo
 
Unidad 2 clases y objetos
Unidad 2 clases y objetosUnidad 2 clases y objetos
Unidad 2 clases y objetos
 
Definicion De Subclases Y Herencia H F M
Definicion De Subclases Y Herencia  H F MDefinicion De Subclases Y Herencia  H F M
Definicion De Subclases Y Herencia H F M
 
Clases y subclases
Clases y subclasesClases y subclases
Clases y subclases
 
JAVA 00 - TEMA 05 - HERENCIA
JAVA 00 - TEMA 05 - HERENCIAJAVA 00 - TEMA 05 - HERENCIA
JAVA 00 - TEMA 05 - HERENCIA
 
Poo 3 herencia
Poo 3 herenciaPoo 3 herencia
Poo 3 herencia
 
Definición de clases en POO
Definición de clases en POODefinición de clases en POO
Definición de clases en POO
 
Encapsulamiento
EncapsulamientoEncapsulamiento
Encapsulamiento
 
Programación Orientada a Objetos en Java - Parte I 2015
Programación Orientada a Objetos en Java - Parte I 2015Programación Orientada a Objetos en Java - Parte I 2015
Programación Orientada a Objetos en Java - Parte I 2015
 
Tema2
Tema2Tema2
Tema2
 
8.Clases y objetos Java
8.Clases y objetos Java8.Clases y objetos Java
8.Clases y objetos Java
 

Similaire à Java OO: Introducción

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
 
Programación Orientada a Objetos.ppt
Programación Orientada a Objetos.pptProgramación Orientada a Objetos.ppt
Programación Orientada a Objetos.pptNachoTValverde
 
Programación Orientada a Objetos.ppt
Programación Orientada a Objetos.pptProgramación Orientada a Objetos.ppt
Programación Orientada a Objetos.pptjhonJD1
 
Tema 1 2_poo
Tema 1 2_pooTema 1 2_poo
Tema 1 2_poodemon_628
 
Desarrollo de Aplicaciones Web II - Sesión 05 - Evolución de los lenguajes PO...
Desarrollo de Aplicaciones Web II - Sesión 05 - Evolución de los lenguajes PO...Desarrollo de Aplicaciones Web II - Sesión 05 - Evolución de los lenguajes PO...
Desarrollo de Aplicaciones Web II - Sesión 05 - Evolución de los lenguajes PO...Didier Granados
 
Programación Orientada a Objetos.ppt
Programación Orientada a Objetos.pptProgramación Orientada a Objetos.ppt
Programación Orientada a Objetos.pptssuser0b0b0e1
 
Paradigma de Programación Orientado a Objetos
Paradigma de Programación Orientado a ObjetosParadigma de Programación Orientado a Objetos
Paradigma de Programación Orientado a ObjetosAlberto Blumberg
 
Introduccion orientaciona objetos
Introduccion orientaciona objetosIntroduccion orientaciona objetos
Introduccion orientaciona objetosExtremo Castro
 
Iniciando en java en www.fiec.espol.edu.ec
Iniciando en java  en www.fiec.espol.edu.ecIniciando en java  en www.fiec.espol.edu.ec
Iniciando en java en www.fiec.espol.edu.ecSilvana Vargas
 
Dce0 Introduccion Orientacion A Objetos2
Dce0 Introduccion Orientacion A Objetos2Dce0 Introduccion Orientacion A Objetos2
Dce0 Introduccion Orientacion A Objetos2Hector Gomez
 
D5E-E0: Introduccion a la programacion orientada a objetos
D5E-E0: Introduccion a la programacion orientada a objetosD5E-E0: Introduccion a la programacion orientada a objetos
D5E-E0: Introduccion a la programacion orientada a objetosEllyster
 
Dce0 Introduccion Orientacion A Objetos
Dce0 Introduccion Orientacion A ObjetosDce0 Introduccion Orientacion A Objetos
Dce0 Introduccion Orientacion A ObjetosJuan Raul Vergara
 
Modelado con clases instancias
Modelado con clases instanciasModelado con clases instancias
Modelado con clases instanciasCarlos Castro
 
UML - Lenguaje de Modelamiento Unificado
UML - Lenguaje de Modelamiento UnificadoUML - Lenguaje de Modelamiento Unificado
UML - Lenguaje de Modelamiento UnificadoEliseo Castro
 

Similaire à Java OO: Introducción (20)

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
 
Programación Orientada a Objetos.ppt
Programación Orientada a Objetos.pptProgramación Orientada a Objetos.ppt
Programación Orientada a Objetos.ppt
 
Programación Orientada a Objetos.ppt
Programación Orientada a Objetos.pptProgramación Orientada a Objetos.ppt
Programación Orientada a Objetos.ppt
 
Programación Orientada a Objetos.ppt
Programación Orientada a Objetos.pptProgramación Orientada a Objetos.ppt
Programación Orientada a Objetos.ppt
 
Tema 1 2_poo
Tema 1 2_pooTema 1 2_poo
Tema 1 2_poo
 
Desarrollo de Aplicaciones Web II - Sesión 05 - Evolución de los lenguajes PO...
Desarrollo de Aplicaciones Web II - Sesión 05 - Evolución de los lenguajes PO...Desarrollo de Aplicaciones Web II - Sesión 05 - Evolución de los lenguajes PO...
Desarrollo de Aplicaciones Web II - Sesión 05 - Evolución de los lenguajes PO...
 
Programación Orientada a Objetos.ppt
Programación Orientada a Objetos.pptProgramación Orientada a Objetos.ppt
Programación Orientada a Objetos.ppt
 
Paradigma de Programación Orientado a Objetos
Paradigma de Programación Orientado a ObjetosParadigma de Programación Orientado a Objetos
Paradigma de Programación Orientado a Objetos
 
Introduccion orientaciona objetos
Introduccion orientaciona objetosIntroduccion orientaciona objetos
Introduccion orientaciona objetos
 
Intro oo2
Intro oo2Intro oo2
Intro oo2
 
Intro oo2
Intro oo2Intro oo2
Intro oo2
 
Intro oo2
Intro oo2Intro oo2
Intro oo2
 
Iniciando en java en www.fiec.espol.edu.ec
Iniciando en java  en www.fiec.espol.edu.ecIniciando en java  en www.fiec.espol.edu.ec
Iniciando en java en www.fiec.espol.edu.ec
 
Dce0 Introduccion Orientacion A Objetos2
Dce0 Introduccion Orientacion A Objetos2Dce0 Introduccion Orientacion A Objetos2
Dce0 Introduccion Orientacion A Objetos2
 
D5E-E0: Introduccion a la programacion orientada a objetos
D5E-E0: Introduccion a la programacion orientada a objetosD5E-E0: Introduccion a la programacion orientada a objetos
D5E-E0: Introduccion a la programacion orientada a objetos
 
Introduccion Orientada a Objetos
Introduccion Orientada a ObjetosIntroduccion Orientada a Objetos
Introduccion Orientada a Objetos
 
Dce0 Introduccion Orientacion A Objetos
Dce0 Introduccion Orientacion A ObjetosDce0 Introduccion Orientacion A Objetos
Dce0 Introduccion Orientacion A Objetos
 
Uml.desireé
Uml.desireéUml.desireé
Uml.desireé
 
Modelado con clases instancias
Modelado con clases instanciasModelado con clases instancias
Modelado con clases instancias
 
UML - Lenguaje de Modelamiento Unificado
UML - Lenguaje de Modelamiento UnificadoUML - Lenguaje de Modelamiento Unificado
UML - Lenguaje de Modelamiento Unificado
 

Plus de Eric Gustavo Coronel Castillo

EL MODELO DIRECTO DE DELL: TODO LO QUE HAY SOBRE LA INFORMACION
EL MODELO DIRECTO DE DELL: TODO LO QUE HAY SOBRE LA INFORMACIONEL MODELO DIRECTO DE DELL: TODO LO QUE HAY SOBRE LA INFORMACION
EL MODELO DIRECTO DE DELL: TODO LO QUE HAY SOBRE LA INFORMACIONEric Gustavo Coronel Castillo
 

Plus de Eric Gustavo Coronel Castillo (20)

Java Web JSTL
Java Web JSTLJava Web JSTL
Java Web JSTL
 
Model View Controller - MVC
Model View Controller - MVCModel View Controller - MVC
Model View Controller - MVC
 
JavaServer Page
JavaServer PageJavaServer Page
JavaServer Page
 
Java Web: Servlets
Java Web: ServletsJava Web: Servlets
Java Web: Servlets
 
Java Web - Presentación
Java Web - PresentaciónJava Web - Presentación
Java Web - Presentación
 
JAVA ORIENTADO A OBJETOS - EXCEPCIONES
JAVA ORIENTADO A OBJETOS - EXCEPCIONESJAVA ORIENTADO A OBJETOS - EXCEPCIONES
JAVA ORIENTADO A OBJETOS - EXCEPCIONES
 
JAVA ORIENTADO A OBJETOS - COLECCIONES
JAVA ORIENTADO A OBJETOS - COLECCIONESJAVA ORIENTADO A OBJETOS - COLECCIONES
JAVA ORIENTADO A OBJETOS - COLECCIONES
 
JAVA ORIENTADO A OBJETOS - ARREGLOS
JAVA ORIENTADO A OBJETOS - ARREGLOSJAVA ORIENTADO A OBJETOS - ARREGLOS
JAVA ORIENTADO A OBJETOS - ARREGLOS
 
JAVA ORIENTADO A OBJETOS - INTERFACES
JAVA ORIENTADO A OBJETOS - INTERFACESJAVA ORIENTADO A OBJETOS - INTERFACES
JAVA ORIENTADO A OBJETOS - INTERFACES
 
JAVA ORIENTADO A OBJETOS - HERENCIA
JAVA ORIENTADO A OBJETOS - HERENCIAJAVA ORIENTADO A OBJETOS - HERENCIA
JAVA ORIENTADO A OBJETOS - HERENCIA
 
JAVA ORIENTADO A OBJETOS - ALCANCE DE CLASE
JAVA ORIENTADO A OBJETOS - ALCANCE DE CLASEJAVA ORIENTADO A OBJETOS - ALCANCE DE CLASE
JAVA ORIENTADO A OBJETOS - ALCANCE DE CLASE
 
JAVA ORIENTADO A OBJETOS - SOBRECARGA
JAVA ORIENTADO A OBJETOS - SOBRECARGAJAVA ORIENTADO A OBJETOS - SOBRECARGA
JAVA ORIENTADO A OBJETOS - SOBRECARGA
 
JAVA ORIENTADO A OBJETOS - MIEMBROS DE CLASE
JAVA ORIENTADO A OBJETOS - MIEMBROS DE CLASEJAVA ORIENTADO A OBJETOS - MIEMBROS DE CLASE
JAVA ORIENTADO A OBJETOS - MIEMBROS DE CLASE
 
Cursos Virtuales con Gustavo Coronel en UDEMY
Cursos Virtuales con Gustavo Coronel en UDEMYCursos Virtuales con Gustavo Coronel en UDEMY
Cursos Virtuales con Gustavo Coronel en UDEMY
 
Buenas practicas para el Desarrollo de Software
Buenas practicas para el Desarrollo de SoftwareBuenas practicas para el Desarrollo de Software
Buenas practicas para el Desarrollo de Software
 
JAVA OO - TEMA 08 - COLECCIONES
JAVA OO - TEMA 08 - COLECCIONESJAVA OO - TEMA 08 - COLECCIONES
JAVA OO - TEMA 08 - COLECCIONES
 
EL MODELO DIRECTO DE DELL: TODO LO QUE HAY SOBRE LA INFORMACION
EL MODELO DIRECTO DE DELL: TODO LO QUE HAY SOBRE LA INFORMACIONEL MODELO DIRECTO DE DELL: TODO LO QUE HAY SOBRE LA INFORMACION
EL MODELO DIRECTO DE DELL: TODO LO QUE HAY SOBRE LA INFORMACION
 
ORACLE SQL
ORACLE SQLORACLE SQL
ORACLE SQL
 
CONSULTAS BASICAS
CONSULTAS BASICASCONSULTAS BASICAS
CONSULTAS BASICAS
 
ORACLE SQL
ORACLE SQLORACLE SQL
ORACLE SQL
 

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.
  • 20.
  • 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