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
www.youtube.com/DesarrollaSoftware
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.
ENTERPRISE JAVA DEVELOPER
JAVA ORIENTADO A OBJETOS
Eric Gustavo Coronel Castillo
gcoronelc.blogspot.com
Gracias
FUNDAMENTOS DE
PROGRAMACIÓN CON JAVA
Aprende las mejores prácticas
PROGRAMACIÓN ORIENTADA
A OBJETOS CON JAVA
Aprende programación en capas,
patrones y buenas prácticas
PROGRAMACIÓN DE BASE
DE DATOS ORACLE CON
PL/SQL
Aprende a obtener el mejor
rendimiento de tú base de datos
PROGRAMACIÓN DE BASE
DE DATOS ORACLE CON
JDBC
Aprende a programar
correctamente con JDBChttps://github.com/gcoronelc/UDEMY

Contenu connexe

Tendances

Conceptos poo progra visual
Conceptos poo progra visualConceptos poo progra visual
Conceptos poo progra visualLibertad25
 
Propiedades De La Poo
Propiedades De La PooPropiedades De La Poo
Propiedades De La Pooda4
 
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++ prevjtk1
 
ProgramacióN Orientada A Objetos
ProgramacióN Orientada A ObjetosProgramacióN Orientada A Objetos
ProgramacióN Orientada A ObjetosPatricio Abad
 
Poo 3 herencia
Poo 3 herenciaPoo 3 herencia
Poo 3 herenciajlmanmons
 
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 2015Renny Batista
 
2 POO Presentación
2 POO Presentación2 POO Presentación
2 POO Presentaciónguest7b7e934
 
Programación 3: Clases y objetos en Java
Programación 3: Clases y objetos en JavaProgramación 3: Clases y objetos en Java
Programación 3: Clases y objetos en JavaAngel Vázquez Patiño
 
Programacion Orientada a Objetos
Programacion Orientada a ObjetosProgramacion Orientada a Objetos
Programacion Orientada a Objetoschutas666
 
Programacion Orientada a Objetos IE
Programacion Orientada a Objetos IEProgramacion Orientada a Objetos IE
Programacion Orientada a Objetos IEKaren Olan
 
PROGRAMACION ORIENTADA A OBJETO
PROGRAMACION ORIENTADA A OBJETOPROGRAMACION ORIENTADA A OBJETO
PROGRAMACION ORIENTADA A OBJETOAnabel Jaramillo
 

Tendances (20)

Conceptos poo progra visual
Conceptos poo progra visualConceptos poo progra visual
Conceptos poo progra visual
 
Programacion Orientada a Objetos
Programacion Orientada a ObjetosProgramacion Orientada a Objetos
Programacion Orientada a Objetos
 
Definición de clases en POO
Definición de clases en POODefinición de clases en POO
Definición de clases en POO
 
Poo en java herencia
Poo en java   herenciaPoo en java   herencia
Poo en java herencia
 
Herencia poo
Herencia pooHerencia poo
Herencia poo
 
Qué es la poo
Qué es la pooQué es la poo
Qué es la poo
 
Programación orientada a objetos
Programación orientada a objetosProgramación orientada a objetos
Programación orientada a objetos
 
8.Clases y objetos Java
8.Clases y objetos Java8.Clases y objetos Java
8.Clases y objetos Java
 
Propiedades De La Poo
Propiedades De La PooPropiedades De La Poo
Propiedades De La Poo
 
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
 
ProgramacióN Orientada A Objetos
ProgramacióN Orientada A ObjetosProgramacióN Orientada A Objetos
ProgramacióN Orientada A Objetos
 
Poo 3 herencia
Poo 3 herenciaPoo 3 herencia
Poo 3 herencia
 
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
 
Herencia
HerenciaHerencia
Herencia
 
2 POO Presentación
2 POO Presentación2 POO Presentación
2 POO Presentación
 
Programación 3: Clases y objetos en Java
Programación 3: Clases y objetos en JavaProgramación 3: Clases y objetos en Java
Programación 3: Clases y objetos en Java
 
Programacion Orientada a Objetos
Programacion Orientada a ObjetosProgramacion Orientada a Objetos
Programacion Orientada a Objetos
 
Programacion Orientada a Objetos IE
Programacion Orientada a Objetos IEProgramacion Orientada a Objetos IE
Programacion Orientada a Objetos IE
 
PROGRAMACION ORIENTADA A OBJETO
PROGRAMACION ORIENTADA A OBJETOPROGRAMACION ORIENTADA A OBJETO
PROGRAMACION ORIENTADA A OBJETO
 
Clases y Objetos
Clases y ObjetosClases y Objetos
Clases y Objetos
 

Similaire à JAVA ORIENTADO A OBJETOS - 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
 
Historia y fundamentos de la programación orientada a objetos
Historia y fundamentos de la programación orientada a objetosHistoria y fundamentos de la programación orientada a objetos
Historia y fundamentos de la programación orientada a objetosRafael Molano
 
Programación Orientada a Objetos.ppt
Programación Orientada a Objetos.pptProgramación Orientada a Objetos.ppt
Programación Orientada a Objetos.pptssuser0b0b0e1
 
Lenguaje de programación orientada a objetos
Lenguaje de programación orientada a objetosLenguaje de programación orientada a objetos
Lenguaje de programación orientada a objetosAntonio Perez
 
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
 
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
 
Tema 1 2_poo
Tema 1 2_pooTema 1 2_poo
Tema 1 2_poodemon_628
 
Introduccion a la Programacion Orientada a Objetos
Introduccion a la Programacion Orientada a ObjetosIntroduccion a la Programacion Orientada a Objetos
Introduccion a la Programacion Orientada a ObjetosAlexys González
 

Similaire à JAVA ORIENTADO A OBJETOS - INTRODUCCIÓN (20)

Tema1
Tema1Tema1
Tema1
 
Programación Orientada a Objetos
Programación Orientada  a ObjetosProgramación Orientada  a Objetos
Programación Orientada a Objetos
 
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
 
Historia y fundamentos de la programación orientada a objetos
Historia y fundamentos de la programación orientada a objetosHistoria y fundamentos de la programación orientada a objetos
Historia y fundamentos de la programación orientada a objetos
 
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
Programación Orientada a ObjetosProgramación Orientada a Objetos
Programación Orientada a Objetos
 
Lenguaje de programación orientada a objetos
Lenguaje de programación orientada a objetosLenguaje de programación orientada a objetos
Lenguaje de programación orientada a objetos
 
Semana 6 Módulos Clases y Objetos
Semana 6   Módulos Clases y ObjetosSemana 6   Módulos Clases y Objetos
Semana 6 Módulos Clases y Objetos
 
Prototype-based programming with PROWL.
Prototype-based programming with PROWL.Prototype-based programming with PROWL.
Prototype-based programming with PROWL.
 
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
 
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...
 
Poo presentacion
Poo presentacionPoo presentacion
Poo presentacion
 
Prototype-based, object-oriented programming
Prototype-based, object-oriented programmingPrototype-based, object-oriented programming
Prototype-based, object-oriented programming
 
Tema 1 2_poo
Tema 1 2_pooTema 1 2_poo
Tema 1 2_poo
 
Clase No.01.pptx
Clase No.01.pptxClase No.01.pptx
Clase No.01.pptx
 
conceptos de la poo
conceptos de la pooconceptos de la poo
conceptos de la poo
 
Introduccion a la Programacion Orientada a Objetos
Introduccion a la Programacion Orientada a ObjetosIntroduccion a la Programacion Orientada a Objetos
Introduccion a la Programacion Orientada a Objetos
 

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 ORIENTADO A OBJETOS - INTRODUCCIÓN

  • 1. ENTERPRISE JAVA DEVELOPER JAVA ORIENTADO A OBJETOS Eric Gustavo Coronel Castillo www.youtube.com/DesarrollaSoftware 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. ENTERPRISE JAVA DEVELOPER JAVA ORIENTADO A OBJETOS Eric Gustavo Coronel Castillo gcoronelc.blogspot.com Gracias
  • 22. FUNDAMENTOS DE PROGRAMACIÓN CON JAVA Aprende las mejores prácticas PROGRAMACIÓN ORIENTADA A OBJETOS CON JAVA Aprende programación en capas, patrones y buenas prácticas PROGRAMACIÓN DE BASE DE DATOS ORACLE CON PL/SQL Aprende a obtener el mejor rendimiento de tú base de datos PROGRAMACIÓN DE BASE DE DATOS ORACLE CON JDBC Aprende a programar correctamente con JDBChttps://github.com/gcoronelc/UDEMY