SlideShare ist ein Scribd-Unternehmen logo
1 von 53
IAGP  Programación Orientada a Objetos Desarrollo de software orientado a objetos Definición Método de desarrollo de software que basa la arquitectura del sistema en módulos deducidos de los tipos de objetos que se manipulan, en lugar de basarse en la función o funciones a las que el sistema está destinado a asegurar. No preguntes primero  qué hace el sistema , pregunta   ¡¡A QUIÉN LO HACE!!
IAGP  Programación Orientada a Objetos 2.1 Orígenes El tiempo transcurrido entre el desarrollo convencional del software y el desarrollo orientado a objetos, no se  solapa. Hay más de 25 años, surgió con el lenguaje  Simula , en Noruega, aunque comercialmente se ha difundido recientemente. Simula es acrónimo de “simulación lenguaje” y fue creado para soportar simulaciones, por O. J. Dahl yKristen Nygaard. Su propósito fue la simulación de sistemas físicos complejos con muchos cientos de componentes. En Simula los módulos no se basan en procedimientos como en la programación convencional, sino en los objetos físicos que se modelan en la simulación.
IAGP  Programación Orientada a Objetos Los objetos del mundo real pueden exhibir una variedad infinita de efectos sobre otros, creando, destruyendo, levantando, uniendo, comprando, doblándose, enviando, etc.  Esta gran variedad suscita un problema:  ¿Cómo se pueden representar en software las diversas clases de interacciones ?  Los autores de Simula lograron una solución elegante a este problema:  el  mensaje .  Los  objetos  interaccionan el uno con el otro con mensajes que piden que los objetos realicen sus métodos.  Un mensaje es simplemente el nombre de un objeto seguido por el nombre de un  método  que el objeto sabe ejecutar.  Si un método requiere alguna información adicional para saber qué hacer, el mensaje incluye la información como  parámetros .
IAGP  Programación Orientada a Objetos El objeto que inicia un mensaje se llama el remitente de ese mensaje, y el objeto que recibe el mensaje se llama el receptor.  El hecho de que los métodos están asociados siempre a objetos específicos tiene un efecto secundario interesante que resulta ser ventajoso.  Diversos objetos pueden responder al mismo mensaje genérico, pero cada objeto puede interpretar el mensaje de una manera distinta.  Por ejemplo, un objeto camión podría poner en ejecución su propia versión del mensaje mueve_A, al igual que una nave, un tren, un avión, una persona, o cualquier cosa  que se mueva. En el mundo real la manera en que estos objetos determinan sus rutas, planean sus movimientos, y realizan estos desplazamientos se diferencia radicalmente, pero todos entenderían una petición común de ir a un destino especificado.
IAGP  Programación Orientada a Objetos La capacidad de diversos objetos para responder al mismo mensaje de diversas maneras se llama  polimorfismo , que en griego significa "muchas formas."  El término puede intimidar, y el polimorfismo a menudo se considera un concepto avanzado en tecnología de objetos.  Pero la idea básica no podía ser más simple:  cada objeto puede tener una respuesta única al mismo mensaje.  A veces, una simulación implica solamente un ejemplo de una clase particular de objeto. Sin embargo es mucho más común, necesitar más de un objeto de cada tipo. Esta posibilidad levanta otra preocupación:  sería extremadamente ineficaz redefinir los mismos métodos en cada ocurrencia de ese objeto.
IAGP  Programación Orientada a Objetos Aquí, otra vez, los autores de Simula aportaron una solución elegante:  la  clase .  Una clase es una plantilla de software que define los métodos y las variables que se incluirán en un tipo particular de objeto.  Los métodos y las variables que hacen el objeto se definen solamente una vez, en la definición de la clase. Los objetos que pertenecen a una clase se llaman generalmente  instancias  de la clase y contienen solamente sus propios valores particulares para las variables.  Un programa orientado a objetos (poo), se define de la forma: Objetos + Mensajes = Programa
IAGP  Programación Orientada a Objetos
IAGP  Programación Orientada a Objetos ,[object Object],[object Object],[object Object],[object Object]
IAGP  Programación Orientada a Objetos Programa OO Clase Objeto Los objetos se comunican mediante mensajes Colección estructurada de clases Implementación de un TAD Una instancia de una clase
IAGP  Programación Orientada a Objetos 2.2 Comparación con los seres vivos El bloque de edificio básico a partir del cual se componen los seres  vivos es la célula.  Las células son "paquetes orgánicos", como objetos, combinan la información relacionada y comportamiento.  La mayoría de la información está contenida en moléculas de proteína, dentro del núcleo de la célula.  El comportamiento, que puede extenderse desde conversión de energía al movimiento, es realizado por estructuras fuera del núcleo.  Las células están rodeadas por una membrana que permite solamente ciertas clases de intercambios químicos con otras.  Esta membrana protege el funcionamiento interno de la célula contra la intrusión exterior, y también oculta la complejidad, presentando un interfaz relativamente simple al resto del organismo.
IAGP  Programación Orientada a Objetos Todas las interacciones entre las células ocurren a través de los mensajes químicos, reconocidos por la membrana de la célula y pasados a su través al interior de la célula.
IAGP  Programación Orientada a Objetos Los objetos que contienen a otros, se llaman objetos compuestos, son importantes porque pueden representar estructuras más sofisticadas que los objetos simples. Un avión consiste en alas, motores, y otros componentes que son demasiado complejos para representarlos de forma simple.  Colecciones de objetos Hay una clase especial de clases, a menudo llamada la colección de clases, que se puede encontrar en la biblioteca de clases en la mayoría de los lenguajes comerciales. Como el nombre sugiere, la función básica de una colección es recolectar juntos los objetos que se deben manejar como grupo.
IAGP  Programación Orientada a Objetos En un avión, por ejemplo, no crearíamos una variable separada para cada objeto del asiento, agruparíamos  todos los objetos del asiento en una colección y pondríamos una referencia a esa colección en un solo conjunto llamado variable.
IAGP  Programación Orientada a Objetos Aunque los mecanismos reales de células y de objetos apenas podrían ser más diferentes, sus funciones son similares.  Las células y los objetos encapsulan datos y comportamientos asociados;  ambos tienen interfaces que definen qué señales responderán a su ambiente;  ambos utilizan la comunicación basada en mensajes  para ocultar complejidad;  ambos se pueden organizar en una jerarquía de tipos especializados;  y ambos proporcionan los bloques de edificio fundamentales para construir una variedad infinita de sistemas complejos.  Esta semejanza, considerando la gran variedad de organismos vivos, demuestra claramente la flexibilidad de este acercamiento básico a a la construcción de sistemas complejos.
IAGP  Programación Orientada a Objetos ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
IAGP  Programación Orientada a Objetos Respuestas a los mensajes En la mayoría de los sistemas, los mensajes requieren una cierta clase de respuesta del receptor.  Esta respuesta es generalmente llamada valor de retorno, puede ser datos simples, valores u objetos.
IAGP  Programación Orientada a Objetos La potencia de los polimorfismos, simplificación de programas Supónganos que estamos desarrollando un sistema que incluya instrumentos financieros tales como bonos y acciones.  El sistema debe permitir que realicemos una variedad de operaciones tales como añadir una nueva acción, seguir el funcionamiento de varias clases de instrumentos, y supervisión del valor actual de la cartera en su totalidad.  Nuestra primera clase es  cartera , un objeto compuesto que contiene un objeto de la colección de objetos llamada instrumentos_financieros. Nuestro primer método es  agregar , que toma un objeto instrumento financiero como su parámetro.
IAGP  Programación Orientada a Objetos
IAGP  Programación Orientada a Objetos ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],2.3 Modularidad
IAGP  Programación Orientada a Objetos ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
IAGP  Programación Orientada a Objetos ,[object Object],[object Object],[object Object],[object Object],[object Object]
IAGP  Programación Orientada a Objetos ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
IAGP  Programación Orientada a Objetos ,[object Object],[object Object],[object Object],[object Object]
IAGP  Programación Orientada a Objetos ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
IAGP  Programación Orientada a Objetos ,[object Object],[object Object],[object Object],[object Object],[object Object]
IAGP  Programación Orientada a Objetos ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
IAGP  Programación Orientada a Objetos ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
IAGP  Programación Orientada a Objetos ,[object Object],[object Object],[object Object],[object Object],[object Object]
IAGP  Programación Orientada a Objetos ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
IAGP  Programación Orientada a Objetos ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
IAGP  Programación Orientada a Objetos ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
IAGP  Programación Orientada a Objetos ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
IAGP  Programación Orientada a Objetos ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
IAGP  Programación Orientada a Objetos ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
IAGP  Programación Orientada a Objetos ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
IAGP  Programación Orientada a Objetos ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
IAGP  Programación Orientada a Objetos ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
IAGP  Programación Orientada a Objetos ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
IAGP  Programación Orientada a Objetos ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
IAGP  Programación Orientada a Objetos ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
IAGP  Programación Orientada a Objetos ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
IAGP  Programación Orientada a Objetos ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
IAGP  Programación Orientada a Objetos ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
IAGP  Programación Orientada a Objetos ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
IAGP  Programación Orientada a Objetos ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
IAGP  Programación Orientada a Objetos ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
IAGP  Programación Orientada a Objetos ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
IAGP  Programación Orientada a Objetos ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
IAGP  Programación Orientada a Objetos ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
IAGP  Programación Orientada a Objetos ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
IAGP  Programación Orientada a Objetos ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
IAGP  Programación Orientada a Objetos ,[object Object],[object Object],[object Object],¿Debemos crear la clase  Rectangulo  partiendo de cero? Podemos aprovechar la existencia de similitudes y particularidades entre ambas clases
IAGP  Programación Orientada a Objetos ,[object Object],[object Object],[object Object],class  Rectangulo  inherit Poligono feature ...Características específicas para rectángulos end

Weitere ähnliche Inhalte

Was ist angesagt?

Nuevas tecnologías y aplicaciones de los sistemas de bases de datos
Nuevas tecnologías y aplicaciones de los sistemas de bases de datosNuevas tecnologías y aplicaciones de los sistemas de bases de datos
Nuevas tecnologías y aplicaciones de los sistemas de bases de datosHugo Alberto Rivera Diaz
 
Conceptos básicos de programación orientada a objetos (poo)
Conceptos básicos de programación orientada a objetos (poo)Conceptos básicos de programación orientada a objetos (poo)
Conceptos básicos de programación orientada a objetos (poo)Maria Garcia
 
8b Curso de POO en java - paso de diagrama clases a java 1
8b Curso de POO en java - paso de diagrama clases a java 18b Curso de POO en java - paso de diagrama clases a java 1
8b Curso de POO en java - paso de diagrama clases a java 1Clara Patricia Avella Ibañez
 
Conceptos de POO (Programacion Orientada a Objetos)
Conceptos de POO (Programacion Orientada a Objetos)Conceptos de POO (Programacion Orientada a Objetos)
Conceptos de POO (Programacion Orientada a Objetos)Josue Lara Reyes
 
Elementos básicos de modelo entidad relación
Elementos básicos de modelo entidad relaciónElementos básicos de modelo entidad relación
Elementos básicos de modelo entidad relaciónCam Bandini
 
1. introduccion a la programación orientada a objeto (poo)
1.  introduccion a la programación orientada a objeto (poo)1.  introduccion a la programación orientada a objeto (poo)
1. introduccion a la programación orientada a objeto (poo)Roberto Rojas
 
Modelo dominio y secuencia
Modelo dominio y secuenciaModelo dominio y secuencia
Modelo dominio y secuenciabrayanfp
 
Presentacion Java
Presentacion JavaPresentacion Java
Presentacion Javamaeusogo
 
Modelo Orientado A Objetos
Modelo Orientado A ObjetosModelo Orientado A Objetos
Modelo Orientado A Objetosjose_rob
 
Tópicos Avanzados de Programación - Unidad 2 componentes y librerias
Tópicos Avanzados de Programación - Unidad 2 componentes y libreriasTópicos Avanzados de Programación - Unidad 2 componentes y librerias
Tópicos Avanzados de Programación - Unidad 2 componentes y libreriasJosé Antonio Sandoval Acosta
 
Manual de instalacion de Mongo db
Manual de instalacion de Mongo dbManual de instalacion de Mongo db
Manual de instalacion de Mongo dbRuby B. Blanca
 
UML - Casos de Uso y Diagramas de Clase
UML - Casos de Uso y Diagramas de ClaseUML - Casos de Uso y Diagramas de Clase
UML - Casos de Uso y Diagramas de ClaseGuillermo Díaz
 
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 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
 
Modelo vista controlador
Modelo vista controladorModelo vista controlador
Modelo vista controladorEmilio Sarabia
 

Was ist angesagt? (20)

Nuevas tecnologías y aplicaciones de los sistemas de bases de datos
Nuevas tecnologías y aplicaciones de los sistemas de bases de datosNuevas tecnologías y aplicaciones de los sistemas de bases de datos
Nuevas tecnologías y aplicaciones de los sistemas de bases de datos
 
Conceptos básicos de programación orientada a objetos (poo)
Conceptos básicos de programación orientada a objetos (poo)Conceptos básicos de programación orientada a objetos (poo)
Conceptos básicos de programación orientada a objetos (poo)
 
Metodologia orientada a objeto
Metodologia orientada a objetoMetodologia orientada a objeto
Metodologia orientada a objeto
 
8b Curso de POO en java - paso de diagrama clases a java 1
8b Curso de POO en java - paso de diagrama clases a java 18b Curso de POO en java - paso de diagrama clases a java 1
8b Curso de POO en java - paso de diagrama clases a java 1
 
Conceptos de POO (Programacion Orientada a Objetos)
Conceptos de POO (Programacion Orientada a Objetos)Conceptos de POO (Programacion Orientada a Objetos)
Conceptos de POO (Programacion Orientada a Objetos)
 
Elementos básicos de modelo entidad relación
Elementos básicos de modelo entidad relaciónElementos básicos de modelo entidad relación
Elementos básicos de modelo entidad relación
 
P.O.O.
P.O.O.P.O.O.
P.O.O.
 
1. introduccion a la programación orientada a objeto (poo)
1.  introduccion a la programación orientada a objeto (poo)1.  introduccion a la programación orientada a objeto (poo)
1. introduccion a la programación orientada a objeto (poo)
 
Modelo dominio y secuencia
Modelo dominio y secuenciaModelo dominio y secuencia
Modelo dominio y secuencia
 
1. el proceso unificado
1. el proceso unificado1. el proceso unificado
1. el proceso unificado
 
Presentacion Java
Presentacion JavaPresentacion Java
Presentacion Java
 
Cuadro comparativo
Cuadro comparativoCuadro comparativo
Cuadro comparativo
 
Modelo Orientado A Objetos
Modelo Orientado A ObjetosModelo Orientado A Objetos
Modelo Orientado A Objetos
 
Tópicos Avanzados de Programación - Unidad 2 componentes y librerias
Tópicos Avanzados de Programación - Unidad 2 componentes y libreriasTópicos Avanzados de Programación - Unidad 2 componentes y librerias
Tópicos Avanzados de Programación - Unidad 2 componentes y librerias
 
Manual de instalacion de Mongo db
Manual de instalacion de Mongo dbManual de instalacion de Mongo db
Manual de instalacion de Mongo db
 
Modelo entidad
Modelo entidadModelo entidad
Modelo entidad
 
UML - Casos de Uso y Diagramas de Clase
UML - Casos de Uso y Diagramas de ClaseUML - Casos de Uso y Diagramas de Clase
UML - Casos de Uso y Diagramas de Clase
 
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 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
 
Modelo vista controlador
Modelo vista controladorModelo vista controlador
Modelo vista controlador
 

Andere mochten auch

Andere mochten auch (20)

Manual de instalacion netbeans 7.2
Manual de instalacion netbeans 7.2Manual de instalacion netbeans 7.2
Manual de instalacion netbeans 7.2
 
Introducción a la POO
Introducción a la POOIntroducción a la POO
Introducción a la POO
 
Para exposición
Para exposiciónPara exposición
Para exposición
 
Viabilidad - Planificación de Tiempos
Viabilidad - Planificación de TiemposViabilidad - Planificación de Tiempos
Viabilidad - Planificación de Tiempos
 
02 Bases Del Lenguaje Java
02   Bases Del Lenguaje Java02   Bases Del Lenguaje Java
02 Bases Del Lenguaje Java
 
FPJUCE - Capitulo2
FPJUCE - Capitulo2FPJUCE - Capitulo2
FPJUCE - Capitulo2
 
Cafeteando east
Cafeteando eastCafeteando east
Cafeteando east
 
06 Paquetes Y Java Classpath
06   Paquetes Y Java Classpath06   Paquetes Y Java Classpath
06 Paquetes Y Java Classpath
 
Analisis orientado a objetos
Analisis orientado a objetosAnalisis orientado a objetos
Analisis orientado a objetos
 
Programación orientada a objetos
Programación orientada a objetosProgramación orientada a objetos
Programación orientada a objetos
 
13 Networking
13   Networking13   Networking
13 Networking
 
Conceptos de la poo
Conceptos de la pooConceptos de la poo
Conceptos de la poo
 
Entrega final
Entrega finalEntrega final
Entrega final
 
Tutorial eclipse 1
Tutorial eclipse 1Tutorial eclipse 1
Tutorial eclipse 1
 
2011 2012-practica poo.v.1.2
2011 2012-practica poo.v.1.22011 2012-practica poo.v.1.2
2011 2012-practica poo.v.1.2
 
Java
JavaJava
Java
 
J2EE - 01 Arquitectura Web
J2EE - 01   Arquitectura WebJ2EE - 01   Arquitectura Web
J2EE - 01 Arquitectura Web
 
INTRODUCCION A LA POO
INTRODUCCION A LA POOINTRODUCCION A LA POO
INTRODUCCION A LA POO
 
Moodle para dummies
Moodle para dummiesMoodle para dummies
Moodle para dummies
 
04 Clases Y Objetos
04   Clases Y Objetos04   Clases Y Objetos
04 Clases Y Objetos
 

Ähnlich wie Conceptos Basicos de POO

Trabajo investigativo sobre la programación orientada a objetos y java
Trabajo investigativo sobre la programación orientada a objetos y javaTrabajo investigativo sobre la programación orientada a objetos y java
Trabajo investigativo sobre la programación orientada a objetos y javaJulio César Rojas Maza
 
Orientado a objeto
Orientado a objetoOrientado a objeto
Orientado a objetoUnefa
 
LABORATORIO DE PROGRAMACIÓN I
LABORATORIO DE PROGRAMACIÓN ILABORATORIO DE PROGRAMACIÓN I
LABORATORIO DE PROGRAMACIÓN ISILVA19_PAMELA
 
Actividad nº 7
Actividad nº 7Actividad nº 7
Actividad nº 7marcos_77
 
Programación orientada a objetos
Programación orientada a objetosProgramación orientada a objetos
Programación orientada a objetosCarlos Esteves
 
Programación orientada a objetos
Programación orientada a objetosProgramación orientada a objetos
Programación orientada a objetosCarlos Esteves
 
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
 
Programacion orientada objetos-1
Programacion orientada objetos-1Programacion orientada objetos-1
Programacion orientada objetos-1Scott Chavez
 
Diseño Orientado a Objetos
Diseño Orientado a ObjetosDiseño Orientado a Objetos
Diseño Orientado a ObjetosMegaMono
 
Programacion orientada a objetos
Programacion orientada a objetosProgramacion orientada a objetos
Programacion orientada a objetosbrandonhh10
 
Programación orientada a objetos
Programación orientada a objetosProgramación orientada a objetos
Programación orientada a objetosjaninaplaza
 

Ähnlich wie Conceptos Basicos de POO (20)

Programacion o o
Programacion o oProgramacion o o
Programacion o o
 
Programacion o o
Programacion o oProgramacion o o
Programacion o o
 
Trabajo investigativo sobre la programación orientada a objetos y java
Trabajo investigativo sobre la programación orientada a objetos y javaTrabajo investigativo sobre la programación orientada a objetos y java
Trabajo investigativo sobre la programación orientada a objetos y java
 
Orientado a objeto
Orientado a objetoOrientado a objeto
Orientado a objeto
 
LABORATORIO DE PROGRAMACIÓN I
LABORATORIO DE PROGRAMACIÓN ILABORATORIO DE PROGRAMACIÓN I
LABORATORIO DE PROGRAMACIÓN I
 
Actividad nº 7
Actividad nº 7Actividad nº 7
Actividad nº 7
 
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
 
Asignación 1 astrid c.
Asignación 1 astrid c.Asignación 1 astrid c.
Asignación 1 astrid c.
 
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
 
Tema nº 1
Tema nº 1Tema nº 1
Tema nº 1
 
Tema nº 1
Tema nº 1Tema nº 1
Tema nº 1
 
Tc2 301403 21
Tc2 301403 21Tc2 301403 21
Tc2 301403 21
 
Programacion orientada objetos-1
Programacion orientada objetos-1Programacion orientada objetos-1
Programacion orientada objetos-1
 
Poo
PooPoo
Poo
 
Diseño Orientado a Objetos
Diseño Orientado a ObjetosDiseño Orientado a Objetos
Diseño Orientado a Objetos
 
Programacion orientada a objetos
Programacion orientada a objetosProgramacion orientada a objetos
Programacion orientada a objetos
 
PROGRAMACIÓN ORIENTADA A OBJETOS
PROGRAMACIÓN ORIENTADA A OBJETOSPROGRAMACIÓN ORIENTADA A OBJETOS
PROGRAMACIÓN ORIENTADA A OBJETOS
 
Programación orientada a objetos
Programación orientada a objetosProgramación orientada a objetos
Programación orientada a objetos
 

Mehr von Henrry Eliseo Navarro Chinchilla (20)

Is
IsIs
Is
 
Listasenlazadas 100517143015-phpapp02
Listasenlazadas 100517143015-phpapp02Listasenlazadas 100517143015-phpapp02
Listasenlazadas 100517143015-phpapp02
 
Bucarasica
BucarasicaBucarasica
Bucarasica
 
Bucarasica
BucarasicaBucarasica
Bucarasica
 
5 a bd_servidor
5 a bd_servidor5 a bd_servidor
5 a bd_servidor
 
Introducion uml
Introducion umlIntroducion uml
Introducion uml
 
Complejidad
ComplejidadComplejidad
Complejidad
 
Apuntes2
Apuntes2Apuntes2
Apuntes2
 
Apuntes2
Apuntes2Apuntes2
Apuntes2
 
Ingenieria de software
Ingenieria de softwareIngenieria de software
Ingenieria de software
 
Gestionde fichero
Gestionde ficheroGestionde fichero
Gestionde fichero
 
Metodos en php
Metodos en phpMetodos en php
Metodos en php
 
Grafos
GrafosGrafos
Grafos
 
Exploration network chapter7
Exploration network chapter7Exploration network chapter7
Exploration network chapter7
 
Exploration network chapter11
Exploration network chapter11Exploration network chapter11
Exploration network chapter11
 
Exploration network chapter10
Exploration network chapter10Exploration network chapter10
Exploration network chapter10
 
Exploration network chapter9
Exploration network chapter9Exploration network chapter9
Exploration network chapter9
 
Exploration network chapter8
Exploration network chapter8Exploration network chapter8
Exploration network chapter8
 
Exploration network chapter7
Exploration network chapter7Exploration network chapter7
Exploration network chapter7
 
Fichero
FicheroFichero
Fichero
 

Conceptos Basicos de POO

  • 1. IAGP Programación Orientada a Objetos Desarrollo de software orientado a objetos Definición Método de desarrollo de software que basa la arquitectura del sistema en módulos deducidos de los tipos de objetos que se manipulan, en lugar de basarse en la función o funciones a las que el sistema está destinado a asegurar. No preguntes primero qué hace el sistema , pregunta ¡¡A QUIÉN LO HACE!!
  • 2. IAGP Programación Orientada a Objetos 2.1 Orígenes El tiempo transcurrido entre el desarrollo convencional del software y el desarrollo orientado a objetos, no se solapa. Hay más de 25 años, surgió con el lenguaje Simula , en Noruega, aunque comercialmente se ha difundido recientemente. Simula es acrónimo de “simulación lenguaje” y fue creado para soportar simulaciones, por O. J. Dahl yKristen Nygaard. Su propósito fue la simulación de sistemas físicos complejos con muchos cientos de componentes. En Simula los módulos no se basan en procedimientos como en la programación convencional, sino en los objetos físicos que se modelan en la simulación.
  • 3. IAGP Programación Orientada a Objetos Los objetos del mundo real pueden exhibir una variedad infinita de efectos sobre otros, creando, destruyendo, levantando, uniendo, comprando, doblándose, enviando, etc. Esta gran variedad suscita un problema: ¿Cómo se pueden representar en software las diversas clases de interacciones ? Los autores de Simula lograron una solución elegante a este problema: el mensaje . Los objetos interaccionan el uno con el otro con mensajes que piden que los objetos realicen sus métodos. Un mensaje es simplemente el nombre de un objeto seguido por el nombre de un método que el objeto sabe ejecutar. Si un método requiere alguna información adicional para saber qué hacer, el mensaje incluye la información como parámetros .
  • 4. IAGP Programación Orientada a Objetos El objeto que inicia un mensaje se llama el remitente de ese mensaje, y el objeto que recibe el mensaje se llama el receptor. El hecho de que los métodos están asociados siempre a objetos específicos tiene un efecto secundario interesante que resulta ser ventajoso. Diversos objetos pueden responder al mismo mensaje genérico, pero cada objeto puede interpretar el mensaje de una manera distinta. Por ejemplo, un objeto camión podría poner en ejecución su propia versión del mensaje mueve_A, al igual que una nave, un tren, un avión, una persona, o cualquier cosa que se mueva. En el mundo real la manera en que estos objetos determinan sus rutas, planean sus movimientos, y realizan estos desplazamientos se diferencia radicalmente, pero todos entenderían una petición común de ir a un destino especificado.
  • 5. IAGP Programación Orientada a Objetos La capacidad de diversos objetos para responder al mismo mensaje de diversas maneras se llama polimorfismo , que en griego significa "muchas formas." El término puede intimidar, y el polimorfismo a menudo se considera un concepto avanzado en tecnología de objetos. Pero la idea básica no podía ser más simple: cada objeto puede tener una respuesta única al mismo mensaje. A veces, una simulación implica solamente un ejemplo de una clase particular de objeto. Sin embargo es mucho más común, necesitar más de un objeto de cada tipo. Esta posibilidad levanta otra preocupación: sería extremadamente ineficaz redefinir los mismos métodos en cada ocurrencia de ese objeto.
  • 6. IAGP Programación Orientada a Objetos Aquí, otra vez, los autores de Simula aportaron una solución elegante: la clase . Una clase es una plantilla de software que define los métodos y las variables que se incluirán en un tipo particular de objeto. Los métodos y las variables que hacen el objeto se definen solamente una vez, en la definición de la clase. Los objetos que pertenecen a una clase se llaman generalmente instancias de la clase y contienen solamente sus propios valores particulares para las variables. Un programa orientado a objetos (poo), se define de la forma: Objetos + Mensajes = Programa
  • 7. IAGP Programación Orientada a Objetos
  • 8.
  • 9. IAGP Programación Orientada a Objetos Programa OO Clase Objeto Los objetos se comunican mediante mensajes Colección estructurada de clases Implementación de un TAD Una instancia de una clase
  • 10. IAGP Programación Orientada a Objetos 2.2 Comparación con los seres vivos El bloque de edificio básico a partir del cual se componen los seres vivos es la célula. Las células son "paquetes orgánicos", como objetos, combinan la información relacionada y comportamiento. La mayoría de la información está contenida en moléculas de proteína, dentro del núcleo de la célula. El comportamiento, que puede extenderse desde conversión de energía al movimiento, es realizado por estructuras fuera del núcleo. Las células están rodeadas por una membrana que permite solamente ciertas clases de intercambios químicos con otras. Esta membrana protege el funcionamiento interno de la célula contra la intrusión exterior, y también oculta la complejidad, presentando un interfaz relativamente simple al resto del organismo.
  • 11. IAGP Programación Orientada a Objetos Todas las interacciones entre las células ocurren a través de los mensajes químicos, reconocidos por la membrana de la célula y pasados a su través al interior de la célula.
  • 12. IAGP Programación Orientada a Objetos Los objetos que contienen a otros, se llaman objetos compuestos, son importantes porque pueden representar estructuras más sofisticadas que los objetos simples. Un avión consiste en alas, motores, y otros componentes que son demasiado complejos para representarlos de forma simple. Colecciones de objetos Hay una clase especial de clases, a menudo llamada la colección de clases, que se puede encontrar en la biblioteca de clases en la mayoría de los lenguajes comerciales. Como el nombre sugiere, la función básica de una colección es recolectar juntos los objetos que se deben manejar como grupo.
  • 13. IAGP Programación Orientada a Objetos En un avión, por ejemplo, no crearíamos una variable separada para cada objeto del asiento, agruparíamos todos los objetos del asiento en una colección y pondríamos una referencia a esa colección en un solo conjunto llamado variable.
  • 14. IAGP Programación Orientada a Objetos Aunque los mecanismos reales de células y de objetos apenas podrían ser más diferentes, sus funciones son similares. Las células y los objetos encapsulan datos y comportamientos asociados; ambos tienen interfaces que definen qué señales responderán a su ambiente; ambos utilizan la comunicación basada en mensajes para ocultar complejidad; ambos se pueden organizar en una jerarquía de tipos especializados; y ambos proporcionan los bloques de edificio fundamentales para construir una variedad infinita de sistemas complejos. Esta semejanza, considerando la gran variedad de organismos vivos, demuestra claramente la flexibilidad de este acercamiento básico a a la construcción de sistemas complejos.
  • 15.
  • 16. IAGP Programación Orientada a Objetos Respuestas a los mensajes En la mayoría de los sistemas, los mensajes requieren una cierta clase de respuesta del receptor. Esta respuesta es generalmente llamada valor de retorno, puede ser datos simples, valores u objetos.
  • 17. IAGP Programación Orientada a Objetos La potencia de los polimorfismos, simplificación de programas Supónganos que estamos desarrollando un sistema que incluya instrumentos financieros tales como bonos y acciones. El sistema debe permitir que realicemos una variedad de operaciones tales como añadir una nueva acción, seguir el funcionamiento de varias clases de instrumentos, y supervisión del valor actual de la cartera en su totalidad. Nuestra primera clase es cartera , un objeto compuesto que contiene un objeto de la colección de objetos llamada instrumentos_financieros. Nuestro primer método es agregar , que toma un objeto instrumento financiero como su parámetro.
  • 18. IAGP Programación Orientada a Objetos
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
  • 32.
  • 33.
  • 34.
  • 35.
  • 36.
  • 37.
  • 38.
  • 39.
  • 40.
  • 41.
  • 42.
  • 43.
  • 44.
  • 45.
  • 46.
  • 47.
  • 48.
  • 49.
  • 50.
  • 51.
  • 52.
  • 53.