SlideShare una empresa de Scribd logo
1 de 37
Programa Microsoft
Desarrollador Cinco
Estrellas
Estrella 0 -
Introducción a la
Orientación a Objetos
Objetivo
Describir el Paradigma de Orientación a
Objetos incluyendo los conceptos
relacionados al análisis, diseño y
programación
Prerrequisitos
Poseer los conocimientos proporcionados
en los siguientes módulos de la Estrella 0:
 Fundamentos de Programación
Temas a Tratar
Paradigmas de Programación
Clases y Objetos
Modificadores de Acceso
¿Qué es UML?
Principios de la Orientación a Objetos
Conceptos del Diseño Orientado a Objetos
Paradigmas de Programación
Hay para todos los gustos
 Estructurados (C, Pascal, Basic, etc.)
 Funcionales (CAML)
 Declarativos (Prolog)
 Orientados a Objetos (C#, VB.NET, Smalltalk, Java)
 Orientados a Aspectos
 Híbridos (Lisp, Visual Basic)
 Incomprensibles....
Cada enfoque tiene sus ventajas y desventajas
Cada uno es más apropiado para ciertas cosas
El mundo color de Objetos
Todo el mundo está compuesto de
entidades que se relacionan e interactúan
entre si
¿Qué es un Objeto?
 Todo es un Objeto ¡¿~?!
¿Es lo mismo de siempre con otro nombre?
 Pensar en Objetos ….
No es el último grito de la moda (1980s)
El mundo color de Objetos
¿Por qué Orientación a Objetos (OO)?
 Se parece más al mundo real
 Permite representar modelos complejos
 Muy apropiada para aplicaciones de negocios
 Las empresas ahora sí aceptan la OO
 Las nuevas plataformas de desarrollo la han
adoptado (Java / .NET)
Temas a Tratar
Paradigmas de Programación
Clases y Objetos
Modificadores de Acceso
¿Qué es UML?
Principios de la Orientación a Objetos
Conceptos del Diseño Orientado a Objetos
¿Qué es un Objeto?
Informalmente, un objeto representa una
entidad del mundo real
Entidades Físicas
 (Ej.: Vehículo, Casa, Producto)
Entidades Conceptuales
 (Ej.: Proceso Químico, Transacción Bancaria)
Entidades de Software
 (Ej.: Lista Enlazada, Interfaz Gráfica)
¿Qué es un Objeto?
Definición Formal (Rumbaugh):
 “Un objeto es un concepto, abstracción o cosa
con un significado y límites claros en el
problema en cuestión”
Un objeto posee (Booch):
 Estado
 Comportamiento
 Identidad
Un objeto posee Estado
Lo que el objeto sabe
El estado de un objeto es una de las
posibles condiciones en que el objeto
puede existir
El estado normalmente cambia en el
transcurso del tiempo
El estado de un objeto es implementado
por un conjunto de propiedades (atributos),
además de las conexiones que puede tener
con otros objetos
Un objeto posee Comportamiento
Lo que el objeto puede hacer
El comportamiento de un objeto determina
cómo éste actúa y reacciona frente a las
peticiones de otros objetos
Es modelado por un conjunto de mensajes
a los que el objeto puede responder
(operaciones que puede realizar)
Se implementa mediante métodos
Un objeto posee Identidad
Cada objeto tiene una identidad única,
incluso si su estado es idéntico al de otro
objeto
¿Qué es una Clase?
Una clase es una descripción de un grupo
de objetos con:
 Propiedades en común (atributos)
 Comportamiento similar (operaciones)
 La misma forma de relacionarse con otros
objetos (relaciones)
 Una semántica en común (significan lo mismo)
Una clase es una abstracción que:
 Enfatiza las características relevantes
 Suprime otras características (simplificación)
Un objeto es una instancia de una clase
Objetos y Clases
Una clase es una definición abstracta de un
objeto
 Define la estructura y el comportamiento compartidos
por los objetos
 Sirve como modelo para la creación de objetos
Los objetos pueden ser agrupados en clases
Ejemplo de una Clase
Clase: Curso
Estado (Atributos)
 Nombre
 Ubicación
 Días Ofrecidos
 Horario de Inicio
 Horario de Término
Comportamiento (Métodos)
 Agregar un Alumno
 Borrar un Alumno
 Entregar un Listado del Curso
 Determinar si está Completo
Temas a Tratar
Paradigmas de Programación
Clases y Objetos
Modificadores de Acceso
¿Qué es UML?
Pilares de la Orientación a Objetos
Conceptos del Diseño Orientado a Objetos
Modificadores de Acceso
Permiten definir el nivel de acceso
(visibilidad) de los miembros (atributos o
métodos) de una clase
 Publico: Cualquier clase puede “ver” los
miembros públicos de otra clase
 Privado: Sólo la clase puede ver sus propios
miembros privados
Existen otros dos modificadores para
propósitos específicos (Paquete, Protegido)
Temas a Tratar
Paradigmas de Programación
Clases y Objetos
Modificadores de Acceso
¿Qué es UML?
Pilares de la Orientación a Objetos
Conceptos del Diseño Orientado a Objetos
¿Qué es UML?
“UML es un lenguaje visual para especificar,
construir y documentar sistemas” (OMG - Object
Management Group)
Unified (UNIFICADO):
 El aporte de muchos métodos y notaciones
 Independiente de implementaciones, plataformas y
lenguajes
Modeling (MODELADO):
 Los modelos son utilizados en todas las ingenierías
Language (LENGUAJE):
 Si hay gente, requieren comunicarse. Si se tienen que
comunicar, se tienen que entender. Para entenderse
necesitan un lenguaje común
¡UML no es Metodología!
Una Clase en UML
Una clase está compuesta de tres
secciones
 La primera sección contiene el
nombre de la clase
 La segunda sección muestra la
estructura (atributos)
 La tercera sección muestra el
comportamiento (operaciones)
La segunda y la tercera sección
pueden ser suprimidas
Modificadores de Acceso
 Los miembros públicos se denotan
con el signo “+”
 Los miembros privados se denotan
con el signo “–”
+AgregarAlumno()
+BorrarAlumno()
+GenerarListadoCurso()
+EstaCompleto()
-nombre
-ubicacion
-dias
-inicio
-fin
Curso
Temas a Tratar
Paradigmas de Programación
Clases y Objetos
Modificadores de Acceso
¿Qué es UML?
Pilares de la Orientación a Objetos
Conceptos del Diseño Orientado a Objetos
Pilares de la Orientación a Objetos
Relaciones
Herencia
Abstracción
Encapsulamiento
Abstracción
Ignorancia Selectiva
 La abstracción nos ayuda a trabajar con cosas
complejas
 Se enfoca en lo importante
 Ignora lo que no es importante (simplifica)
Una clase es una abstracción en la que:
 Se enfatizan las características relevantes
 Se suprimen otras características
Una clase debe capturar una y solo una
abstracción clave
Encapsulamiento
Principio que establece que los atributos
propios de un objeto no deben ser visibles
desde otros objetos
 Deben ser declarados como privados
Permite abstraer al resto del mundo de la
complejidad de la implementación interna
Permite exponer el estado del objeto sólo a
través del comportamiento que le hayamos
definido mediante miembros públicos
¿Por qué es útil?
 Punto de Control/Validación
 Mejor respuesta ante los Cambios
Relaciones
Todo sistema abarca muchas clases y
objetos
Los objetos contribuyen en el
comportamiento de un sistema
colaborando entre si
 La colaboración se logra a través de las
relaciones
Existen dos tipos principales de relaciones
 Asociación
 Agregación
Relaciones de Asociación
Una asociación es una conexión entre dos clases
que representa una comunicación
 Una asociación puede tener nombre
 La comunicación puede ser tanto uni como bi-
direccional (por defecto)
 La multiplicidad es el número de instancias que
participan en una asociación
Ejemplo:
 Una Persona es Dueña de un Vehículo
 Un Vehículo Pertenece a una Persona
Persona Vehiculo-dueño
Relaciones de Agregación
La agregación es una forma especial de
asociación donde un todo se relaciona con sus
partes
 También se conoce como “una parte de” o una relación
de contención
Ejemplo:
 Una Puerta es una parte de un Vehículo
 El Vehículo es azul, la Puerta es Azul
 Mover el Vehículo implica mover la Puerta
+Mover()
-color
Vehiculo Puerta
Herencia
Es una relación entre clases
en la cual una clase
comparte la estructura y
comportamiento definido en
otra clase (Grady Booch)
Cada clase que hereda de
otra posee:
 Los atributos de la clase base
además de los propios
 Soporta todos o algunos de los
métodos de la clase base
Una subclase hereda de una
clase base
+Avanzar()
+Detenerse()
-pasajeros
Transporte
Automóvil Avión
Clase Base
Clases Derivadas o
subclases
Herencia
Herencia “Es-Un”: herencia real, donde la
subclase es un tipo específico de la
superclase
 Un Cuadrado es un Rectángulo
 Un perro es un mamífero
 Un automóvil es un vehículo a motor
Temas a Tratar
Paradigmas de Programación
Clases y Objetos
Modificadores de Acceso
¿Qué es UML?
Principios de la Orientación a Objetos
Conceptos del Diseño Orientado a Objetos
Interfaces (1/3)
Recurso de diseño soportado por los
lenguajes orientados a objetos que permite
definir comportamiento
Permite que clases que no están
estrechamente relacionadas entre sí deban
tener el mismo comportamiento
La implementación de una interfaz es un
contrato que obliga a la clase a
implementar todos los métodos definidos
en la interfaz
Interfaces (2/3)
¿ De que clase heredaría la clase Hidroavión ?
Vehiculo
Avión Barco
Aereo TerrestreAcuatico
Automóvil
Interfaces (3/3)
Se crean las interfaces que definen
comportamiento
Hidroavión deberá definir los
comportamientos de cada una de las
interfaces que implemente
Hidroavion
+Navegar()
«interface»
Acuatico
+Volar()
«interface»
Aereo
Es la propiedad que tienen los objetos de
permitir invocar genéricamente un
comportamiento (método) cuya
implementación será delegada al objeto
correspondiente recién en tiempo de
ejecución
El polimorfismo tiende a existir en las
relaciones de herencia, pero no siempre es
así
Polimorfismo
Polimorfismo - Ejemplo
La definición del método reside en la clase
base
La implementación del método reside en la
clase derivada
La invocación es resuelta al momento de
ejecución
Transporte
Avanzar
Frenar
Transporte
Avanzar
Frenar
Transporte
Avanzar
Frenar
Transporte
Avanzar
Frenar
© 2005 Microsoft Corporation.All rights reserved.
This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

Más contenido relacionado

La actualidad más candente

Análisis y Diseño OO 1
Análisis y Diseño OO 1Análisis y Diseño OO 1
Análisis y Diseño OO 1Jano González
 
Introduccion orientaciona objetos
Introduccion orientaciona objetosIntroduccion orientaciona objetos
Introduccion orientaciona objetosExtremo Castro
 
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
 
Curso Java Inicial 4 Poo En Java
Curso Java Inicial   4 Poo En JavaCurso Java Inicial   4 Poo En Java
Curso Java Inicial 4 Poo En JavaEmilio Aviles Avila
 
Introducción a la programación orientada objetos
Introducción a la programación orientada objetosIntroducción a la programación orientada objetos
Introducción a la programación orientada objetosRenny Batista
 
[ES] Programación orientada a objeto con java
[ES] Programación orientada a objeto con java[ES] Programación orientada a objeto con java
[ES] Programación orientada a objeto con javaEudris Cabrera
 
Unidad 1 Mad IntroduccióN
Unidad 1 Mad IntroduccióNUnidad 1 Mad IntroduccióN
Unidad 1 Mad IntroduccióNSergio Sanchez
 
Fundamentos básicos de la programación orientada a objetos
Fundamentos básicos de la programación orientada a objetosFundamentos básicos de la programación orientada a objetos
Fundamentos básicos de la programación orientada a objetosALGLYS RAMIREZ
 
Programación Orientada a Objetos - atributos y métodos
Programación Orientada a Objetos - atributos y métodosProgramación Orientada a Objetos - atributos y métodos
Programación Orientada a Objetos - atributos y métodosAlvaro Enrique Ruano
 
Curso Java Inicial 5 Relaciones Entre Objetos
Curso Java Inicial   5 Relaciones Entre ObjetosCurso Java Inicial   5 Relaciones Entre Objetos
Curso Java Inicial 5 Relaciones Entre ObjetosEmilio Aviles Avila
 
Programación Orientada a Objetos
Programación Orientada a ObjetosProgramación Orientada a Objetos
Programación Orientada a Objetospontifica
 
Poo Programacion Orientada A Objetos Java
Poo   Programacion Orientada A Objetos   JavaPoo   Programacion Orientada A Objetos   Java
Poo Programacion Orientada A Objetos JavaC_QUENGUAN
 

La actualidad más candente (19)

Análisis y Diseño OO 1
Análisis y Diseño OO 1Análisis y Diseño OO 1
Análisis y Diseño OO 1
 
Introduccion orientaciona objetos
Introduccion orientaciona objetosIntroduccion orientaciona objetos
Introduccion orientaciona objetos
 
Intro oo2
Intro oo2Intro oo2
Intro oo2
 
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
 
Curso Java Inicial 4 Poo En Java
Curso Java Inicial   4 Poo En JavaCurso Java Inicial   4 Poo En Java
Curso Java Inicial 4 Poo En Java
 
Introducción a la programación orientada objetos
Introducción a la programación orientada objetosIntroducción a la programación orientada objetos
Introducción a la programación orientada objetos
 
[ES] Programación orientada a objeto con java
[ES] Programación orientada a objeto con java[ES] Programación orientada a objeto con java
[ES] Programación orientada a objeto con java
 
Unidad 1 Mad IntroduccióN
Unidad 1 Mad IntroduccióNUnidad 1 Mad IntroduccióN
Unidad 1 Mad IntroduccióN
 
Fundamentos básicos de la programación orientada a objetos
Fundamentos básicos de la programación orientada a objetosFundamentos básicos de la programación orientada a objetos
Fundamentos básicos de la programación orientada a objetos
 
Programación Orientada a Objetos - atributos y métodos
Programación Orientada a Objetos - atributos y métodosProgramación Orientada a Objetos - atributos y métodos
Programación Orientada a Objetos - atributos y métodos
 
POO sencillito
POO sencillitoPOO sencillito
POO sencillito
 
Pilares de la POO
Pilares de la POOPilares de la POO
Pilares de la POO
 
Programación Orientada a Objetos
Programación Orientada a ObjetosProgramación Orientada a Objetos
Programación Orientada a Objetos
 
Curso Java Inicial 5 Relaciones Entre Objetos
Curso Java Inicial   5 Relaciones Entre ObjetosCurso Java Inicial   5 Relaciones Entre Objetos
Curso Java Inicial 5 Relaciones Entre Objetos
 
Programación Orientada a Objetos
Programación Orientada a ObjetosProgramación Orientada a Objetos
Programación Orientada a Objetos
 
Curso Java Inicial 1 POO
Curso Java Inicial   1 POOCurso Java Inicial   1 POO
Curso Java Inicial 1 POO
 
Poo Programacion Orientada A Objetos Java
Poo   Programacion Orientada A Objetos   JavaPoo   Programacion Orientada A Objetos   Java
Poo Programacion Orientada A Objetos Java
 
conceptos de la poo
conceptos de la pooconceptos de la poo
conceptos de la poo
 
Unidad1 y 2
Unidad1 y 2Unidad1 y 2
Unidad1 y 2
 

Similar a Introduccion orientaciona objetos

C# para desarrolladores VB6
C# para desarrolladores VB6C# para desarrolladores VB6
C# para desarrolladores VB6Tonymx
 
presentacion-tema-i-unidad-ii.GFGFHFHGppt
presentacion-tema-i-unidad-ii.GFGFHFHGpptpresentacion-tema-i-unidad-ii.GFGFHFHGppt
presentacion-tema-i-unidad-ii.GFGFHFHGpptjorgealfarol
 
UML - Lenguaje de Modelamiento Unificado
UML - Lenguaje de Modelamiento UnificadoUML - Lenguaje de Modelamiento Unificado
UML - Lenguaje de Modelamiento UnificadoEliseo Castro
 
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-8Henry Ayala
 
Modelado con clases instancias
Modelado con clases instanciasModelado con clases instancias
Modelado con clases instanciasCarlos Castro
 
Diseña y construye programas orientados a objetos
Diseña y construye programas orientados a objetosDiseña y construye programas orientados a objetos
Diseña y construye programas orientados a objetosJosue Sarabia
 
Analisis Y DiseñO Orientado Objetos
Analisis Y DiseñO Orientado ObjetosAnalisis Y DiseñO Orientado Objetos
Analisis Y DiseñO Orientado ObjetosEliecer Suarez
 
Programacion orientada a objetos
Programacion orientada a objetosProgramacion orientada a objetos
Programacion orientada a objetosAgapito26
 
Programacion estructurada en objetos
Programacion estructurada en objetosProgramacion estructurada en objetos
Programacion estructurada en objetosAngel Ordoñez
 
Programación orientada a objetos
Programación orientada a objetosProgramación orientada a objetos
Programación orientada a objetosronnyme21
 
Diapositiva de Estudio: FUNDAMENTOS UML.ppt
Diapositiva de Estudio: FUNDAMENTOS UML.pptDiapositiva de Estudio: FUNDAMENTOS UML.ppt
Diapositiva de Estudio: FUNDAMENTOS UML.pptjorgejvc777
 
Primeraclaseobjetos Clases
Primeraclaseobjetos ClasesPrimeraclaseobjetos Clases
Primeraclaseobjetos Clasesmtemarialuisa
 
Primeraclaseobjetos Clases
Primeraclaseobjetos ClasesPrimeraclaseobjetos Clases
Primeraclaseobjetos Clasesmtemarialuisa
 

Similar a Introduccion orientaciona objetos (20)

C# para desarrolladores VB6
C# para desarrolladores VB6C# para desarrolladores VB6
C# para desarrolladores VB6
 
presentacion-tema-i-unidad-ii.GFGFHFHGppt
presentacion-tema-i-unidad-ii.GFGFHFHGpptpresentacion-tema-i-unidad-ii.GFGFHFHGppt
presentacion-tema-i-unidad-ii.GFGFHFHGppt
 
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
 
Modelado con clases instancias
Modelado con clases instanciasModelado con clases instancias
Modelado con clases instancias
 
Diseña y construye programas orientados a objetos
Diseña y construye programas orientados a objetosDiseña y construye programas orientados a objetos
Diseña y construye programas orientados a objetos
 
Analisis Y DiseñO Orientado Objetos
Analisis Y DiseñO Orientado ObjetosAnalisis Y DiseñO Orientado Objetos
Analisis Y DiseñO Orientado Objetos
 
Intro oo2
Intro oo2Intro oo2
Intro oo2
 
Intro oo2
Intro oo2Intro oo2
Intro oo2
 
Tarea 3
Tarea 3Tarea 3
Tarea 3
 
Programacion orientada a objetos
Programacion orientada a objetosProgramacion orientada a objetos
Programacion orientada a objetos
 
Programacion estructurada en objetos
Programacion estructurada en objetosProgramacion estructurada en objetos
Programacion estructurada en objetos
 
Programación orientada a objetos
Programación orientada a objetosProgramación orientada a objetos
Programación orientada a objetos
 
Clase No.01.pptx
Clase No.01.pptxClase No.01.pptx
Clase No.01.pptx
 
Diapositiva de Estudio: FUNDAMENTOS UML.ppt
Diapositiva de Estudio: FUNDAMENTOS UML.pptDiapositiva de Estudio: FUNDAMENTOS UML.ppt
Diapositiva de Estudio: FUNDAMENTOS UML.ppt
 
Primeraclaseobjetos Clases
Primeraclaseobjetos ClasesPrimeraclaseobjetos Clases
Primeraclaseobjetos Clases
 
Primeraclaseobjetos Clases
Primeraclaseobjetos ClasesPrimeraclaseobjetos Clases
Primeraclaseobjetos Clases
 
Java
JavaJava
Java
 
Primeraclaseobjetos clases
Primeraclaseobjetos clasesPrimeraclaseobjetos clases
Primeraclaseobjetos clases
 
Programación orientada a objetos
Programación orientada a objetosProgramación orientada a objetos
Programación orientada a objetos
 

Más de Ricardo Garcia

Más de Ricardo Garcia (19)

Swing 121012064634-phpapp01
Swing 121012064634-phpapp01Swing 121012064634-phpapp01
Swing 121012064634-phpapp01
 
Swing
SwingSwing
Swing
 
Sobrecarga de datos
Sobrecarga de datosSobrecarga de datos
Sobrecarga de datos
 
Slides p3 2
Slides p3 2Slides p3 2
Slides p3 2
 
Registro plataforma chamilo
Registro plataforma chamiloRegistro plataforma chamilo
Registro plataforma chamilo
 
Otro poo
Otro pooOtro poo
Otro poo
 
Miswing 110511215936-phpapp01
Miswing 110511215936-phpapp01Miswing 110511215936-phpapp01
Miswing 110511215936-phpapp01
 
Metodos en java
Metodos en javaMetodos en java
Metodos en java
 
Metodologia
MetodologiaMetodologia
Metodologia
 
La clase string
La clase stringLa clase string
La clase string
 
Javaswing 1de4-151119150600-lva1-app6892
Javaswing 1de4-151119150600-lva1-app6892Javaswing 1de4-151119150600-lva1-app6892
Javaswing 1de4-151119150600-lva1-app6892
 
Java 120706083911-phpapp01
Java 120706083911-phpapp01Java 120706083911-phpapp01
Java 120706083911-phpapp01
 
Java awt tutorial javatpoint
Java awt tutorial   javatpointJava awt tutorial   javatpoint
Java awt tutorial javatpoint
 
Introduccion a awt
Introduccion a awtIntroduccion a awt
Introduccion a awt
 
Guis en java-1pp_2011_
Guis en java-1pp_2011_Guis en java-1pp_2011_
Guis en java-1pp_2011_
 
Fundamentos programacion poo
Fundamentos programacion pooFundamentos programacion poo
Fundamentos programacion poo
 
Diagrama de clases y diagrama de objetos
Diagrama de clases y diagrama de objetosDiagrama de clases y diagrama de objetos
Diagrama de clases y diagrama de objetos
 
08. java con my sql
08. java con my sql08. java con my sql
08. java con my sql
 
07. arreglos
07. arreglos07. arreglos
07. arreglos
 

Último

Segmentacion Segmantica_Modelos UNET and DEEPLABV3
Segmentacion Segmantica_Modelos UNET and DEEPLABV3Segmentacion Segmantica_Modelos UNET and DEEPLABV3
Segmentacion Segmantica_Modelos UNET and DEEPLABV3AlexysCaytanoMelndez1
 
Unidad_3_T1_AutomatasFinitos presentacion
Unidad_3_T1_AutomatasFinitos presentacionUnidad_3_T1_AutomatasFinitos presentacion
Unidad_3_T1_AutomatasFinitos presentacionarmando_cardenas
 
Caso de éxito de Hervian con el ERP Sage 200
Caso de éxito de Hervian con el ERP Sage 200Caso de éxito de Hervian con el ERP Sage 200
Caso de éxito de Hervian con el ERP Sage 200Opentix
 
Manual de Usuario APPs_AppInventor-2023.pdf
Manual de Usuario APPs_AppInventor-2023.pdfManual de Usuario APPs_AppInventor-2023.pdf
Manual de Usuario APPs_AppInventor-2023.pdfmasogeis
 
PARTES DEL TECLADO Y SUS FUNCIONES - EJEMPLO
PARTES DEL TECLADO Y SUS FUNCIONES - EJEMPLOPARTES DEL TECLADO Y SUS FUNCIONES - EJEMPLO
PARTES DEL TECLADO Y SUS FUNCIONES - EJEMPLOSelenaCoronadoHuaman
 
BREEAM ES Urbanismo como herramienta para un planeamiento sostenible - Miguel...
BREEAM ES Urbanismo como herramienta para un planeamiento sostenible - Miguel...BREEAM ES Urbanismo como herramienta para un planeamiento sostenible - Miguel...
BREEAM ES Urbanismo como herramienta para un planeamiento sostenible - Miguel...ITeC Instituto Tecnología Construcción
 
Introducción a Funciones LENGUAJE DART FLUTTER
Introducción a Funciones LENGUAJE DART FLUTTERIntroducción a Funciones LENGUAJE DART FLUTTER
Introducción a Funciones LENGUAJE DART FLUTTEREMMAFLORESCARMONA
 

Último (7)

Segmentacion Segmantica_Modelos UNET and DEEPLABV3
Segmentacion Segmantica_Modelos UNET and DEEPLABV3Segmentacion Segmantica_Modelos UNET and DEEPLABV3
Segmentacion Segmantica_Modelos UNET and DEEPLABV3
 
Unidad_3_T1_AutomatasFinitos presentacion
Unidad_3_T1_AutomatasFinitos presentacionUnidad_3_T1_AutomatasFinitos presentacion
Unidad_3_T1_AutomatasFinitos presentacion
 
Caso de éxito de Hervian con el ERP Sage 200
Caso de éxito de Hervian con el ERP Sage 200Caso de éxito de Hervian con el ERP Sage 200
Caso de éxito de Hervian con el ERP Sage 200
 
Manual de Usuario APPs_AppInventor-2023.pdf
Manual de Usuario APPs_AppInventor-2023.pdfManual de Usuario APPs_AppInventor-2023.pdf
Manual de Usuario APPs_AppInventor-2023.pdf
 
PARTES DEL TECLADO Y SUS FUNCIONES - EJEMPLO
PARTES DEL TECLADO Y SUS FUNCIONES - EJEMPLOPARTES DEL TECLADO Y SUS FUNCIONES - EJEMPLO
PARTES DEL TECLADO Y SUS FUNCIONES - EJEMPLO
 
BREEAM ES Urbanismo como herramienta para un planeamiento sostenible - Miguel...
BREEAM ES Urbanismo como herramienta para un planeamiento sostenible - Miguel...BREEAM ES Urbanismo como herramienta para un planeamiento sostenible - Miguel...
BREEAM ES Urbanismo como herramienta para un planeamiento sostenible - Miguel...
 
Introducción a Funciones LENGUAJE DART FLUTTER
Introducción a Funciones LENGUAJE DART FLUTTERIntroducción a Funciones LENGUAJE DART FLUTTER
Introducción a Funciones LENGUAJE DART FLUTTER
 

Introduccion orientaciona objetos

  • 1. Programa Microsoft Desarrollador Cinco Estrellas Estrella 0 - Introducción a la Orientación a Objetos
  • 2. Objetivo Describir el Paradigma de Orientación a Objetos incluyendo los conceptos relacionados al análisis, diseño y programación
  • 3. Prerrequisitos Poseer los conocimientos proporcionados en los siguientes módulos de la Estrella 0:  Fundamentos de Programación
  • 4. Temas a Tratar Paradigmas de Programación Clases y Objetos Modificadores de Acceso ¿Qué es UML? Principios de la Orientación a Objetos Conceptos del Diseño Orientado a Objetos
  • 5. Paradigmas de Programación Hay para todos los gustos  Estructurados (C, Pascal, Basic, etc.)  Funcionales (CAML)  Declarativos (Prolog)  Orientados a Objetos (C#, VB.NET, Smalltalk, Java)  Orientados a Aspectos  Híbridos (Lisp, Visual Basic)  Incomprensibles.... Cada enfoque tiene sus ventajas y desventajas Cada uno es más apropiado para ciertas cosas
  • 6. El mundo color de Objetos Todo el mundo está compuesto de entidades que se relacionan e interactúan entre si ¿Qué es un Objeto?  Todo es un Objeto ¡¿~?! ¿Es lo mismo de siempre con otro nombre?  Pensar en Objetos …. No es el último grito de la moda (1980s)
  • 7. El mundo color de Objetos ¿Por qué Orientación a Objetos (OO)?  Se parece más al mundo real  Permite representar modelos complejos  Muy apropiada para aplicaciones de negocios  Las empresas ahora sí aceptan la OO  Las nuevas plataformas de desarrollo la han adoptado (Java / .NET)
  • 8. Temas a Tratar Paradigmas de Programación Clases y Objetos Modificadores de Acceso ¿Qué es UML? Principios de la Orientación a Objetos Conceptos del Diseño Orientado a Objetos
  • 9. ¿Qué es un Objeto? Informalmente, un objeto representa una entidad del mundo real Entidades Físicas  (Ej.: Vehículo, Casa, Producto) Entidades Conceptuales  (Ej.: Proceso Químico, Transacción Bancaria) Entidades de Software  (Ej.: Lista Enlazada, Interfaz Gráfica)
  • 10. ¿Qué es un Objeto? Definición Formal (Rumbaugh):  “Un objeto es un concepto, abstracción o cosa con un significado y límites claros en el problema en cuestión” Un objeto posee (Booch):  Estado  Comportamiento  Identidad
  • 11. Un objeto posee Estado Lo que el objeto sabe El estado de un objeto es una de las posibles condiciones en que el objeto puede existir El estado normalmente cambia en el transcurso del tiempo El estado de un objeto es implementado por un conjunto de propiedades (atributos), además de las conexiones que puede tener con otros objetos
  • 12. Un objeto posee Comportamiento Lo que el objeto puede hacer El comportamiento de un objeto determina cómo éste actúa y reacciona frente a las peticiones de otros objetos Es modelado por un conjunto de mensajes a los que el objeto puede responder (operaciones que puede realizar) Se implementa mediante métodos
  • 13. Un objeto posee Identidad Cada objeto tiene una identidad única, incluso si su estado es idéntico al de otro objeto
  • 14. ¿Qué es una Clase? Una clase es una descripción de un grupo de objetos con:  Propiedades en común (atributos)  Comportamiento similar (operaciones)  La misma forma de relacionarse con otros objetos (relaciones)  Una semántica en común (significan lo mismo) Una clase es una abstracción que:  Enfatiza las características relevantes  Suprime otras características (simplificación) Un objeto es una instancia de una clase
  • 15. Objetos y Clases Una clase es una definición abstracta de un objeto  Define la estructura y el comportamiento compartidos por los objetos  Sirve como modelo para la creación de objetos Los objetos pueden ser agrupados en clases
  • 16. Ejemplo de una Clase Clase: Curso Estado (Atributos)  Nombre  Ubicación  Días Ofrecidos  Horario de Inicio  Horario de Término Comportamiento (Métodos)  Agregar un Alumno  Borrar un Alumno  Entregar un Listado del Curso  Determinar si está Completo
  • 17. Temas a Tratar Paradigmas de Programación Clases y Objetos Modificadores de Acceso ¿Qué es UML? Pilares de la Orientación a Objetos Conceptos del Diseño Orientado a Objetos
  • 18. Modificadores de Acceso Permiten definir el nivel de acceso (visibilidad) de los miembros (atributos o métodos) de una clase  Publico: Cualquier clase puede “ver” los miembros públicos de otra clase  Privado: Sólo la clase puede ver sus propios miembros privados Existen otros dos modificadores para propósitos específicos (Paquete, Protegido)
  • 19. Temas a Tratar Paradigmas de Programación Clases y Objetos Modificadores de Acceso ¿Qué es UML? Pilares de la Orientación a Objetos Conceptos del Diseño Orientado a Objetos
  • 20. ¿Qué es UML? “UML es un lenguaje visual para especificar, construir y documentar sistemas” (OMG - Object Management Group) Unified (UNIFICADO):  El aporte de muchos métodos y notaciones  Independiente de implementaciones, plataformas y lenguajes Modeling (MODELADO):  Los modelos son utilizados en todas las ingenierías Language (LENGUAJE):  Si hay gente, requieren comunicarse. Si se tienen que comunicar, se tienen que entender. Para entenderse necesitan un lenguaje común ¡UML no es Metodología!
  • 21. Una Clase en UML Una clase está compuesta de tres secciones  La primera sección contiene el nombre de la clase  La segunda sección muestra la estructura (atributos)  La tercera sección muestra el comportamiento (operaciones) La segunda y la tercera sección pueden ser suprimidas Modificadores de Acceso  Los miembros públicos se denotan con el signo “+”  Los miembros privados se denotan con el signo “–” +AgregarAlumno() +BorrarAlumno() +GenerarListadoCurso() +EstaCompleto() -nombre -ubicacion -dias -inicio -fin Curso
  • 22. Temas a Tratar Paradigmas de Programación Clases y Objetos Modificadores de Acceso ¿Qué es UML? Pilares de la Orientación a Objetos Conceptos del Diseño Orientado a Objetos
  • 23. Pilares de la Orientación a Objetos Relaciones Herencia Abstracción Encapsulamiento
  • 24. Abstracción Ignorancia Selectiva  La abstracción nos ayuda a trabajar con cosas complejas  Se enfoca en lo importante  Ignora lo que no es importante (simplifica) Una clase es una abstracción en la que:  Se enfatizan las características relevantes  Se suprimen otras características Una clase debe capturar una y solo una abstracción clave
  • 25. Encapsulamiento Principio que establece que los atributos propios de un objeto no deben ser visibles desde otros objetos  Deben ser declarados como privados Permite abstraer al resto del mundo de la complejidad de la implementación interna Permite exponer el estado del objeto sólo a través del comportamiento que le hayamos definido mediante miembros públicos ¿Por qué es útil?  Punto de Control/Validación  Mejor respuesta ante los Cambios
  • 26. Relaciones Todo sistema abarca muchas clases y objetos Los objetos contribuyen en el comportamiento de un sistema colaborando entre si  La colaboración se logra a través de las relaciones Existen dos tipos principales de relaciones  Asociación  Agregación
  • 27. Relaciones de Asociación Una asociación es una conexión entre dos clases que representa una comunicación  Una asociación puede tener nombre  La comunicación puede ser tanto uni como bi- direccional (por defecto)  La multiplicidad es el número de instancias que participan en una asociación Ejemplo:  Una Persona es Dueña de un Vehículo  Un Vehículo Pertenece a una Persona Persona Vehiculo-dueño
  • 28. Relaciones de Agregación La agregación es una forma especial de asociación donde un todo se relaciona con sus partes  También se conoce como “una parte de” o una relación de contención Ejemplo:  Una Puerta es una parte de un Vehículo  El Vehículo es azul, la Puerta es Azul  Mover el Vehículo implica mover la Puerta +Mover() -color Vehiculo Puerta
  • 29. Herencia Es una relación entre clases en la cual una clase comparte la estructura y comportamiento definido en otra clase (Grady Booch) Cada clase que hereda de otra posee:  Los atributos de la clase base además de los propios  Soporta todos o algunos de los métodos de la clase base Una subclase hereda de una clase base +Avanzar() +Detenerse() -pasajeros Transporte Automóvil Avión Clase Base Clases Derivadas o subclases
  • 30. Herencia Herencia “Es-Un”: herencia real, donde la subclase es un tipo específico de la superclase  Un Cuadrado es un Rectángulo  Un perro es un mamífero  Un automóvil es un vehículo a motor
  • 31. Temas a Tratar Paradigmas de Programación Clases y Objetos Modificadores de Acceso ¿Qué es UML? Principios de la Orientación a Objetos Conceptos del Diseño Orientado a Objetos
  • 32. Interfaces (1/3) Recurso de diseño soportado por los lenguajes orientados a objetos que permite definir comportamiento Permite que clases que no están estrechamente relacionadas entre sí deban tener el mismo comportamiento La implementación de una interfaz es un contrato que obliga a la clase a implementar todos los métodos definidos en la interfaz
  • 33. Interfaces (2/3) ¿ De que clase heredaría la clase Hidroavión ? Vehiculo Avión Barco Aereo TerrestreAcuatico Automóvil
  • 34. Interfaces (3/3) Se crean las interfaces que definen comportamiento Hidroavión deberá definir los comportamientos de cada una de las interfaces que implemente Hidroavion +Navegar() «interface» Acuatico +Volar() «interface» Aereo
  • 35. Es la propiedad que tienen los objetos de permitir invocar genéricamente un comportamiento (método) cuya implementación será delegada al objeto correspondiente recién en tiempo de ejecución El polimorfismo tiende a existir en las relaciones de herencia, pero no siempre es así Polimorfismo
  • 36. Polimorfismo - Ejemplo La definición del método reside en la clase base La implementación del método reside en la clase derivada La invocación es resuelta al momento de ejecución Transporte Avanzar Frenar Transporte Avanzar Frenar Transporte Avanzar Frenar Transporte Avanzar Frenar
  • 37. © 2005 Microsoft Corporation.All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.