SlideShare una empresa de Scribd logo
1 de 23
Descargar para leer sin conexión
Módulo 2
Análisis y Diseño OO

               Clase 1

     • POO y UML básico
     • POO en Java




      Alejandro González Orellana
Temario
• POO y UML Básico
• POO en Java
POO y UML Básico
  Programación          Programación
  Estructurada       Orientada a Objetos


                   MÉTODOS       MÉTODOS
  PROCEDIMIENTOS
                   ATRIBUTOS     ATRIBUTOS




                   MÉTODOS       MÉTODOS
      DATOS
                   ATRIBUTOS     ATRIBUTOS
POO y UML Básico

                          Objetos
• Un objeto puede ser cualquier cosa que tenga su propia
  identidad. Por ej: En el mundo real son objetos una
  persona, un auto, una casa, etc.
• Todos los objetos tienen atributos. Por ej. Un auto tiene
  una marca, un modelo, un color, un n° de patente, etc.
• Los objetos también tienen comportamiento. Por ej. Un
  auto puede moverse de un lugar a otro.
• En la POO podemos hacer abstracciones de objetos del
  mundo real con sus atributos y comportamiento. Cada
  objeto tiene cierto conocimiento, en la forma de
  atributos, y sabe como realizar ciertas operaciones.
POO y UML Básico

               Objetos en UML


                     Nombre subrayado
    unObjeto

   atributo1             Atributos
   atributo2
                       Operaciones
   operacion1()
   operacion2()
POO y UML Básico

                    Encapsulamiento
• Se refiere a esconder los atributos de un objeto detrás de
  sus operaciones o métodos




                     Métodos

                    Atributos
POO y UML Básico

               Asociación y agregación
• Son forma de relación entre objetos
• Asociación: Los objetos se relacionan pero no dependen
  completamente el uno del otro. Por ej. Un auto y un
  conductor.
• Agregación: Uno o más objetos son parte de un objeto
  mayor. Por ej. Un auto y su motor.
POO y UML Básico

           Asociación en UML



     unAuto                  unPasajero

                   Los objetos de unen
                      con una línea


   unConductor
POO y UML Básico

           Agregación en UML



     unAuto                       motor


                   Los objetos de unen con
                   una línea. El extremo del
                     objeto mayor usa un
                            rombo
  panelControles

                   velocimetro
POO y UML Básico

Navegabilidad y nombre de una relación en UML


                         direccion
      unCliente                      unaDirección


              La flecha indica la
              navegabilidad de la
                    relación
POO y UML Básico

                        Mensajes
• Un objeto se puede colaborar con otro para realizar tareas
  que no podrían realizar por si mismos.
• Un objeto colabora con otro enviando un mensaje para
  invocar una operación de otro objeto.
• Los mensajes pueden tener una respuesta, además pueden
  tener diversos parámetros.
POO y UML Básico

                          Clases
• Las clases encapsulan características comunes a un grupo
  de objetos.
• Todo objeto es instancia de una clase. Por ej. Pedro, María
  y Juan son instancias de la clase Persona.
POO y UML Básico

               Clases en UML


                        Nombre
      Clase

   atributo1            Atributos
   atributo2
                       Operaciones
   operacion1()
   operacion2()
POO y UML Básico

                         Herencia
• Mediante la herencia una clase puede tomar
  características de una clase padre y agregar sus propias
  características. Por ej. La clase Tren hereda de la clase
  VehiculoTerrestre.
• Mediante la herencia se pueden crear jerarquías de
  clases. Por ej. La clase Vehiculo tiene 3 clases hijas,
  VehiculoTerrestre, VehiculoAereo y VehiculoMaritimo, y
  cada una de estas tiene clases hijo
POO y UML Básico

                     Herencia en UML
                           Vehiculo
                                         El Triángulo apunta a
                                             la clase padre


 VehiculoTerrestre       VehiculoAereo    VehiculoMaritimo




      Auto                Bicicleta
POO y UML Básico

            Herencia Múltiple e Interfaces
• Una clase puede heredar de muchas otras. Pero debido a
  los problemas que trae la herencia múltiple en algunos
  lenguajes no está permitida.
• En lenguajes como Java para evitar los problemas de la
  herencia múltiple se introdujo el concepto de interfaz.
• Una interfaz en una clase abstracta pura. Sólo tiene
  métodos abstractos públicos y no tiene atributos.
• En Java una clase sólo puede heredar de otra. Pero puede
  implementar múltiples interfaces.
POO y UML Básico

                     Interfaces en UML

     Vehiculo                <<interface>>
                          VehiculoMotorizado

  avanzar()




 VehiculoTerrestre                   Se escribe <<interface>> en
                                           la parte superior


      Auto
POO y UML Básico

                    Clases abstractas
• Es una clase con al menos un método abstracto (sin
  implementación) ya sea propio o heredado.
• Las clases abstractas no pueden ser instanciadas.
• Permiten un modelamiento más flexible .
• Las clases y métodos no abstractos se denominan
  concretos.
POO y UML Básico

                Clases abstractas en UML
                             El nombre se escribe en
     Vehiculo                       itálicas


  avanzar()
                               <<abstract>>
                                 Vehiculo

                              avanzar()
 VehiculoTerrestre


                                  Otra forma de representar
      Auto                             clases abstractas
POO y UML Básico

              Sobrescritura de métodos
• Una clase hijo puede cambiar la implementación de una
  operación de una clase padre. Por ej. El método abstracto
  avanzar() de Vehiculo puede implementarse en la clase
  Auto
POO y UML Básico

                      Polimorfismo
• Polimorfismo significa “muchas formas” y en OO aplica de
  dos formas.
• Atributos polimórficos: Un atributo que tenga como tipo
  una clase padre puede tener como valor, en tiempo de
  ejecución, objetos pertenecientes a una de las clases hijo.
• Mensajes polimórficos: Al invocar un mensaje en un
  objeto declarado con una clase padre, en tiempo de
  ejecución, se puede invocar la operación implementada en
  una de las clases hijo.
Temario
• POO y UML básico
• POO en Java
POO en Java

                             Ejemplo
// Comentarios Javadoc omitidos
// por brevedad                               Vehiculo         <<interface>>
                                                              VehiculoMotorizado
public abstract class Vehiculo {           avanzar()
   public abstract void avanzar();
}


public abstract class VehiculoTerrestre
                                          VehiculoTerrestre
    extends Vehiculo {
                                          numeroRuedas: int
   private int numeroRuedas;
}


public class Auto
                                                Auto
     extends VehiculoTerrestre
     implements VehiculoMotorizado {
                                            avanzar()
   public void avanzar() {
     ...
   }
}

Más contenido relacionado

La actualidad más candente

Programación Orientada a Objetos - Resumen
Programación Orientada a Objetos - ResumenProgramación Orientada a Objetos - Resumen
Programación Orientada a Objetos - ResumenKarlytoz_36
 
Programacion orientada a objetos
Programacion orientada a objetosProgramacion orientada a objetos
Programacion orientada a objetosmichaelalta
 
Programación Orientada a Objetos
Programación Orientada a ObjetosProgramación Orientada a Objetos
Programación Orientada a ObjetosJuan Carlos Riva
 
Fundamentos de POO
Fundamentos de POOFundamentos de POO
Fundamentos de POOgueritamala
 
10. programación orientada a objetos (java)
10. programación orientada a objetos (java)10. programación orientada a objetos (java)
10. programación orientada a objetos (java)Eric Martinez Aguilar
 
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 - herencia y polimorfismo
Programación Orientada a Objetos - herencia y polimorfismoProgramación Orientada a Objetos - herencia y polimorfismo
Programación Orientada a Objetos - herencia y polimorfismoAlvaro Enrique Ruano
 
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)MIGUEL_INGENIERO
 
Introducción a Programación Orientada a Objetos (OOP): Clases y Objetos
Introducción a  Programación Orientada a Objetos (OOP): Clases y ObjetosIntroducción a  Programación Orientada a Objetos (OOP): Clases y Objetos
Introducción a Programación Orientada a Objetos (OOP): Clases y ObjetosKudos S.A.S
 

La actualidad más candente (20)

Curso Java Inicial 1 POO
Curso Java Inicial   1 POOCurso Java Inicial   1 POO
Curso Java Inicial 1 POO
 
Programación Orientada a Objetos - Resumen
Programación Orientada a Objetos - ResumenProgramación Orientada a Objetos - Resumen
Programación Orientada a Objetos - Resumen
 
Programacion orientada a objetos
Programacion orientada a objetosProgramacion orientada a objetos
Programacion orientada a objetos
 
S2-Representación Gráfica
S2-Representación GráficaS2-Representación Gráfica
S2-Representación Gráfica
 
POO sencillito
POO sencillitoPOO sencillito
POO sencillito
 
Programación Orientada a Objetos
Programación Orientada a ObjetosProgramación Orientada a Objetos
Programación Orientada a Objetos
 
Programación Orientada a Objetos
Programación Orientada a ObjetosProgramación Orientada a Objetos
Programación Orientada a Objetos
 
Programación Orientada Objetos Java Unidad 1
Programación Orientada Objetos Java Unidad 1Programación Orientada Objetos Java Unidad 1
Programación Orientada Objetos Java Unidad 1
 
Fundamentos de POO
Fundamentos de POOFundamentos de POO
Fundamentos de POO
 
Trabajo poo
Trabajo poo Trabajo poo
Trabajo poo
 
Pilares de la POO
Pilares de la POOPilares de la POO
Pilares de la POO
 
Presentación poo
Presentación pooPresentación poo
Presentación poo
 
1 Paradigma Objetos
1 Paradigma Objetos1 Paradigma Objetos
1 Paradigma Objetos
 
10. programación orientada a objetos (java)
10. programación orientada a objetos (java)10. programación orientada a objetos (java)
10. programación orientada a objetos (java)
 
Conceptos poo
Conceptos pooConceptos poo
Conceptos poo
 
POO
POOPOO
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 - herencia y polimorfismo
Programación Orientada a Objetos - herencia y polimorfismoProgramación Orientada a Objetos - herencia y polimorfismo
Programación Orientada a Objetos - herencia y polimorfismo
 
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)
 
Introducción a Programación Orientada a Objetos (OOP): Clases y Objetos
Introducción a  Programación Orientada a Objetos (OOP): Clases y ObjetosIntroducción a  Programación Orientada a Objetos (OOP): Clases y Objetos
Introducción a Programación Orientada a Objetos (OOP): Clases y Objetos
 

Destacado

Diagramas uml
Diagramas umlDiagramas uml
Diagramas umlUVM
 
Microprogramacion.maria carrasco.advo polivalente pymes
Microprogramacion.maria carrasco.advo polivalente pymesMicroprogramacion.maria carrasco.advo polivalente pymes
Microprogramacion.maria carrasco.advo polivalente pymesMARIA JOSE CARRASCO PEREZ
 
Modificadores acceso
Modificadores accesoModificadores acceso
Modificadores accesonavarrow10
 
Blackberry for dummies
Blackberry for dummiesBlackberry for dummies
Blackberry for dummiesUNIVA
 
Apertura del evento "Business Intelligence for dummies"
Apertura del evento "Business Intelligence for dummies"Apertura del evento "Business Intelligence for dummies"
Apertura del evento "Business Intelligence for dummies"Raona
 
Presentacion Proyecto POO
Presentacion Proyecto POOPresentacion Proyecto POO
Presentacion Proyecto POOAdán Silva
 
Unity3D para dummies (BcnDevCon 2012)
Unity3D para dummies (BcnDevCon 2012)Unity3D para dummies (BcnDevCon 2012)
Unity3D para dummies (BcnDevCon 2012)Eduard Tomàs
 
Testing para dummies
Testing para dummiesTesting para dummies
Testing para dummiesSoftware Guru
 
Enrique Place: Introducción a POO / UML / PHP5
Enrique Place: Introducción a POO / UML / PHP5Enrique Place: Introducción a POO / UML / PHP5
Enrique Place: Introducción a POO / UML / PHP5Grupo PHP Argentina
 
Finanzas para todos · Corporate finance for dummies
Finanzas para todos · Corporate finance for dummiesFinanzas para todos · Corporate finance for dummies
Finanzas para todos · Corporate finance for dummiesMiguel Miguel Lopez
 
De los árboles a la cama de un hospital
De los árboles a la cama de un hospitalDe los árboles a la cama de un hospital
De los árboles a la cama de un hospitalSoftware Guru
 
Fundamento de poo en php
Fundamento de poo en phpFundamento de poo en php
Fundamento de poo en phpRobert Moreira
 
SQL For Dummies
SQL For DummiesSQL For Dummies
SQL For Dummiesomenar
 
Analisis y diseño de sistemas
Analisis y diseño de sistemasAnalisis y diseño de sistemas
Analisis y diseño de sistemasjoalmerca6
 
PNL para dummies
PNL para dummies PNL para dummies
PNL para dummies 172010
 

Destacado (20)

Clase4 poo-uml
Clase4 poo-umlClase4 poo-uml
Clase4 poo-uml
 
Diagramas uml
Diagramas umlDiagramas uml
Diagramas uml
 
Modulo2 programaciondidacticmariacarrasco
Modulo2 programaciondidacticmariacarrascoModulo2 programaciondidacticmariacarrasco
Modulo2 programaciondidacticmariacarrasco
 
Microprogramacion.maria carrasco.advo polivalente pymes
Microprogramacion.maria carrasco.advo polivalente pymesMicroprogramacion.maria carrasco.advo polivalente pymes
Microprogramacion.maria carrasco.advo polivalente pymes
 
Modificadores acceso
Modificadores accesoModificadores acceso
Modificadores acceso
 
Herencia
HerenciaHerencia
Herencia
 
Blackberry for dummies
Blackberry for dummiesBlackberry for dummies
Blackberry for dummies
 
Apertura del evento "Business Intelligence for dummies"
Apertura del evento "Business Intelligence for dummies"Apertura del evento "Business Intelligence for dummies"
Apertura del evento "Business Intelligence for dummies"
 
Tablets for dummies
Tablets for dummiesTablets for dummies
Tablets for dummies
 
Presentacion Proyecto POO
Presentacion Proyecto POOPresentacion Proyecto POO
Presentacion Proyecto POO
 
Unity3D para dummies (BcnDevCon 2012)
Unity3D para dummies (BcnDevCon 2012)Unity3D para dummies (BcnDevCon 2012)
Unity3D para dummies (BcnDevCon 2012)
 
Testing para dummies
Testing para dummiesTesting para dummies
Testing para dummies
 
Enrique Place: Introducción a POO / UML / PHP5
Enrique Place: Introducción a POO / UML / PHP5Enrique Place: Introducción a POO / UML / PHP5
Enrique Place: Introducción a POO / UML / PHP5
 
Finanzas para todos · Corporate finance for dummies
Finanzas para todos · Corporate finance for dummiesFinanzas para todos · Corporate finance for dummies
Finanzas para todos · Corporate finance for dummies
 
De los árboles a la cama de un hospital
De los árboles a la cama de un hospitalDe los árboles a la cama de un hospital
De los árboles a la cama de un hospital
 
Fundamento de poo en php
Fundamento de poo en phpFundamento de poo en php
Fundamento de poo en php
 
SQL For Dummies
SQL For DummiesSQL For Dummies
SQL For Dummies
 
Proyecto poo
Proyecto pooProyecto poo
Proyecto poo
 
Analisis y diseño de sistemas
Analisis y diseño de sistemasAnalisis y diseño de sistemas
Analisis y diseño de sistemas
 
PNL para dummies
PNL para dummies PNL para dummies
PNL para dummies
 

Similar a Análisis y Diseño OO 1

Similar a Análisis y Diseño OO 1 (20)

Herencia
HerenciaHerencia
Herencia
 
UML - Lenguaje de Modelamiento Unificado
UML - Lenguaje de Modelamiento UnificadoUML - Lenguaje de Modelamiento Unificado
UML - Lenguaje de Modelamiento Unificado
 
Presentacion de-uml-formato-2-1227891304393749-8
Presentacion de-uml-formato-2-1227891304393749-8Presentacion de-uml-formato-2-1227891304393749-8
Presentacion de-uml-formato-2-1227891304393749-8
 
Hgtyj
HgtyjHgtyj
Hgtyj
 
JAVA ORIENTADO A OBJETOS - INTRODUCCIÓN
JAVA ORIENTADO A OBJETOS - INTRODUCCIÓNJAVA ORIENTADO A OBJETOS - INTRODUCCIÓN
JAVA ORIENTADO A OBJETOS - INTRODUCCIÓN
 
conceptos de la poo
conceptos de la pooconceptos de la poo
conceptos de la poo
 
Introduccion a UML
Introduccion a UMLIntroduccion a UML
Introduccion a UML
 
Curso
CursoCurso
Curso
 
Ingenieria de software
Ingenieria de softwareIngenieria de software
Ingenieria de software
 
Uml
UmlUml
Uml
 
Poo ENFEES
Poo ENFEESPoo ENFEES
Poo ENFEES
 
Diapositiva de Estudio: FUNDAMENTOS UML.ppt
Diapositiva de Estudio: FUNDAMENTOS UML.pptDiapositiva de Estudio: FUNDAMENTOS UML.ppt
Diapositiva de Estudio: FUNDAMENTOS UML.ppt
 
cursoUML.ppt
cursoUML.pptcursoUML.ppt
cursoUML.ppt
 
Introduccion orientaciona objetos
Introduccion orientaciona objetosIntroduccion orientaciona objetos
Introduccion orientaciona objetos
 
Java OO: Introducción
Java OO: IntroducciónJava OO: Introducción
Java OO: Introducción
 
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
 
Dce0 Introduccion Orientacion A Objetos
Dce0 Introduccion Orientacion A ObjetosDce0 Introduccion Orientacion A Objetos
Dce0 Introduccion Orientacion A Objetos
 
Que es
Que esQue es
Que es
 
Curso de UML 2.0
Curso de UML 2.0 Curso de UML 2.0
Curso de UML 2.0
 

Más de Jano González

JRuby: Ruby en un mundo enterprise RubyConf Uruguay 2011
JRuby: Ruby en un mundo enterprise RubyConf Uruguay 2011JRuby: Ruby en un mundo enterprise RubyConf Uruguay 2011
JRuby: Ruby en un mundo enterprise RubyConf Uruguay 2011Jano González
 
JRuby: Ruby en un mundo enterprise
JRuby: Ruby en un mundo enterpriseJRuby: Ruby en un mundo enterprise
JRuby: Ruby en un mundo enterpriseJano González
 
Programación Políglota en la JVM
Programación Políglota en la JVMProgramación Políglota en la JVM
Programación Políglota en la JVMJano González
 
JRuby ¿Lo mejor de dos mundos?
JRuby ¿Lo mejor de dos mundos?JRuby ¿Lo mejor de dos mundos?
JRuby ¿Lo mejor de dos mundos?Jano González
 
Un emulador de Game Boy escrito en Ruby (parte 1)
Un emulador de Game Boy escrito en Ruby (parte 1)Un emulador de Game Boy escrito en Ruby (parte 1)
Un emulador de Game Boy escrito en Ruby (parte 1)Jano González
 
Taller de Unit Testing y TDD en Java: Parte 1
Taller de Unit Testing y TDD en Java: Parte 1Taller de Unit Testing y TDD en Java: Parte 1
Taller de Unit Testing y TDD en Java: Parte 1Jano González
 
Curso de Spring: Transacciones
Curso de Spring: TransaccionesCurso de Spring: Transacciones
Curso de Spring: TransaccionesJano González
 
Análisis y Diseño OO 2
Análisis y Diseño OO 2Análisis y Diseño OO 2
Análisis y Diseño OO 2Jano González
 
Curso de Spring: Beans
Curso de Spring: BeansCurso de Spring: Beans
Curso de Spring: BeansJano González
 
Un newbie conoce a Sinatra
Un newbie conoce a SinatraUn newbie conoce a Sinatra
Un newbie conoce a SinatraJano González
 

Más de Jano González (15)

Spring jdbc
Spring jdbcSpring jdbc
Spring jdbc
 
Vim FTW!
Vim FTW!Vim FTW!
Vim FTW!
 
Ruby
RubyRuby
Ruby
 
JRuby: Ruby en un mundo enterprise RubyConf Uruguay 2011
JRuby: Ruby en un mundo enterprise RubyConf Uruguay 2011JRuby: Ruby en un mundo enterprise RubyConf Uruguay 2011
JRuby: Ruby en un mundo enterprise RubyConf Uruguay 2011
 
JRuby: Ruby en un mundo enterprise
JRuby: Ruby en un mundo enterpriseJRuby: Ruby en un mundo enterprise
JRuby: Ruby en un mundo enterprise
 
Programación Políglota en la JVM
Programación Políglota en la JVMProgramación Políglota en la JVM
Programación Políglota en la JVM
 
A Little RSpec
A Little RSpecA Little RSpec
A Little RSpec
 
JRuby ¿Lo mejor de dos mundos?
JRuby ¿Lo mejor de dos mundos?JRuby ¿Lo mejor de dos mundos?
JRuby ¿Lo mejor de dos mundos?
 
Un emulador de Game Boy escrito en Ruby (parte 1)
Un emulador de Game Boy escrito en Ruby (parte 1)Un emulador de Game Boy escrito en Ruby (parte 1)
Un emulador de Game Boy escrito en Ruby (parte 1)
 
Taller de Unit Testing y TDD en Java: Parte 1
Taller de Unit Testing y TDD en Java: Parte 1Taller de Unit Testing y TDD en Java: Parte 1
Taller de Unit Testing y TDD en Java: Parte 1
 
Curso de Spring: Transacciones
Curso de Spring: TransaccionesCurso de Spring: Transacciones
Curso de Spring: Transacciones
 
Análisis y Diseño OO 2
Análisis y Diseño OO 2Análisis y Diseño OO 2
Análisis y Diseño OO 2
 
Programación Java
Programación JavaProgramación Java
Programación Java
 
Curso de Spring: Beans
Curso de Spring: BeansCurso de Spring: Beans
Curso de Spring: Beans
 
Un newbie conoce a Sinatra
Un newbie conoce a SinatraUn newbie conoce a Sinatra
Un newbie conoce a Sinatra
 

Último

guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx241521559
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfJulian Lamprea
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...silviayucra2
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITMaricarmen Sánchez Ruiz
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíassuserf18419
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxLolaBunny11
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveFagnerLisboa3
 

Último (10)

guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdf
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptx
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 

Análisis y Diseño OO 1

  • 1. Módulo 2 Análisis y Diseño OO Clase 1 • POO y UML básico • POO en Java Alejandro González Orellana
  • 2. Temario • POO y UML Básico • POO en Java
  • 3. POO y UML Básico Programación Programación Estructurada Orientada a Objetos MÉTODOS MÉTODOS PROCEDIMIENTOS ATRIBUTOS ATRIBUTOS MÉTODOS MÉTODOS DATOS ATRIBUTOS ATRIBUTOS
  • 4. POO y UML Básico Objetos • Un objeto puede ser cualquier cosa que tenga su propia identidad. Por ej: En el mundo real son objetos una persona, un auto, una casa, etc. • Todos los objetos tienen atributos. Por ej. Un auto tiene una marca, un modelo, un color, un n° de patente, etc. • Los objetos también tienen comportamiento. Por ej. Un auto puede moverse de un lugar a otro. • En la POO podemos hacer abstracciones de objetos del mundo real con sus atributos y comportamiento. Cada objeto tiene cierto conocimiento, en la forma de atributos, y sabe como realizar ciertas operaciones.
  • 5. POO y UML Básico Objetos en UML Nombre subrayado unObjeto atributo1 Atributos atributo2 Operaciones operacion1() operacion2()
  • 6. POO y UML Básico Encapsulamiento • Se refiere a esconder los atributos de un objeto detrás de sus operaciones o métodos Métodos Atributos
  • 7. POO y UML Básico Asociación y agregación • Son forma de relación entre objetos • Asociación: Los objetos se relacionan pero no dependen completamente el uno del otro. Por ej. Un auto y un conductor. • Agregación: Uno o más objetos son parte de un objeto mayor. Por ej. Un auto y su motor.
  • 8. POO y UML Básico Asociación en UML unAuto unPasajero Los objetos de unen con una línea unConductor
  • 9. POO y UML Básico Agregación en UML unAuto motor Los objetos de unen con una línea. El extremo del objeto mayor usa un rombo panelControles velocimetro
  • 10. POO y UML Básico Navegabilidad y nombre de una relación en UML direccion unCliente unaDirección La flecha indica la navegabilidad de la relación
  • 11. POO y UML Básico Mensajes • Un objeto se puede colaborar con otro para realizar tareas que no podrían realizar por si mismos. • Un objeto colabora con otro enviando un mensaje para invocar una operación de otro objeto. • Los mensajes pueden tener una respuesta, además pueden tener diversos parámetros.
  • 12. POO y UML Básico Clases • Las clases encapsulan características comunes a un grupo de objetos. • Todo objeto es instancia de una clase. Por ej. Pedro, María y Juan son instancias de la clase Persona.
  • 13. POO y UML Básico Clases en UML Nombre Clase atributo1 Atributos atributo2 Operaciones operacion1() operacion2()
  • 14. POO y UML Básico Herencia • Mediante la herencia una clase puede tomar características de una clase padre y agregar sus propias características. Por ej. La clase Tren hereda de la clase VehiculoTerrestre. • Mediante la herencia se pueden crear jerarquías de clases. Por ej. La clase Vehiculo tiene 3 clases hijas, VehiculoTerrestre, VehiculoAereo y VehiculoMaritimo, y cada una de estas tiene clases hijo
  • 15. POO y UML Básico Herencia en UML Vehiculo El Triángulo apunta a la clase padre VehiculoTerrestre VehiculoAereo VehiculoMaritimo Auto Bicicleta
  • 16. POO y UML Básico Herencia Múltiple e Interfaces • Una clase puede heredar de muchas otras. Pero debido a los problemas que trae la herencia múltiple en algunos lenguajes no está permitida. • En lenguajes como Java para evitar los problemas de la herencia múltiple se introdujo el concepto de interfaz. • Una interfaz en una clase abstracta pura. Sólo tiene métodos abstractos públicos y no tiene atributos. • En Java una clase sólo puede heredar de otra. Pero puede implementar múltiples interfaces.
  • 17. POO y UML Básico Interfaces en UML Vehiculo <<interface>> VehiculoMotorizado avanzar() VehiculoTerrestre Se escribe <<interface>> en la parte superior Auto
  • 18. POO y UML Básico Clases abstractas • Es una clase con al menos un método abstracto (sin implementación) ya sea propio o heredado. • Las clases abstractas no pueden ser instanciadas. • Permiten un modelamiento más flexible . • Las clases y métodos no abstractos se denominan concretos.
  • 19. POO y UML Básico Clases abstractas en UML El nombre se escribe en Vehiculo itálicas avanzar() <<abstract>> Vehiculo avanzar() VehiculoTerrestre Otra forma de representar Auto clases abstractas
  • 20. POO y UML Básico Sobrescritura de métodos • Una clase hijo puede cambiar la implementación de una operación de una clase padre. Por ej. El método abstracto avanzar() de Vehiculo puede implementarse en la clase Auto
  • 21. POO y UML Básico Polimorfismo • Polimorfismo significa “muchas formas” y en OO aplica de dos formas. • Atributos polimórficos: Un atributo que tenga como tipo una clase padre puede tener como valor, en tiempo de ejecución, objetos pertenecientes a una de las clases hijo. • Mensajes polimórficos: Al invocar un mensaje en un objeto declarado con una clase padre, en tiempo de ejecución, se puede invocar la operación implementada en una de las clases hijo.
  • 22. Temario • POO y UML básico • POO en Java
  • 23. POO en Java Ejemplo // Comentarios Javadoc omitidos // por brevedad Vehiculo <<interface>> VehiculoMotorizado public abstract class Vehiculo { avanzar() public abstract void avanzar(); } public abstract class VehiculoTerrestre VehiculoTerrestre extends Vehiculo { numeroRuedas: int private int numeroRuedas; } public class Auto Auto extends VehiculoTerrestre implements VehiculoMotorizado { avanzar() public void avanzar() { ... } }