Programación Orientada a Objetos Desarrollo de software orientado a objetos

Tamaño: px
Comenzar la demostración a partir de la página:

Download "Programación Orientada a Objetos Desarrollo de software orientado a objetos"

Transcripción

1 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 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 2 1

2 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 3 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 enejecució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 realizanestos desplazamientos se diferencia radicalmente, pero todos entenderían una petición común de ir a un destino especificado. IAGP 4 2

3 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 cadatipo. Esta posibilidad levanta otra preocupación: sería extremadamente ineficaz redefinir los mismos métodos en cada ocurrencia de ese objeto. IAGP 5 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 untipo 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 6 3

4 IAGP 7 La programación orientada a objetos, se dice a menudo que es más natural que la programación tradicional, y es verdad en dos niveles. En un nivel, la POO es más natural porque permite que organicemos la información de la forma que nos es familiar, según lo ilustrado en las jerarquías de las clases. En otro nivel más profundo, es más natural porque refleja técnicas propias de la naturaleza para manejar complejidad. Es interesante fijarse en la estructura de organismos vivos para establecer un marco para entender la naturaleza adaptativa de los objetos. IAGP 8 4

5 Programa OO Clase Colección estructurada de clases Implementación de un TAD Objeto Una instancia de una clase Los objetos se comunican mediante mensajes IAGP 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 10 5

6 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 sutravés al interior de la célula. IAGP 11 Los objetos que contienen a otros, se llaman objetos compuestos, son importantes porque pueden representar estructuras más sofisticadas que los objetos simples. Unavió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 12 6

7 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 13 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 14 7

8 La naturaleza, después de todo, ha estado utilizando el acercamiento algunos miles de millones de años más que los diseñadores del software! Anatomía de los componentes de un mensaje Un mensaje consiste de tres partes: Un objeto receptor Un método que el receptor sabe ejecutar Un conjunto de parámetros que el método requiere para realizar su función IAGP 15 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 16 8

9 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 17 IAGP 18 9

10 2.3 Modularidad Modularidad Extensibilidad + Reutilización necesidad de arquitecturas flexibles hechas con componentes autónomos Programa modular: formado por un conjunto de módulos Módulo: unidad básica de descomposición de un sistema software Un método de construcción de software es modular si ayuda a producir sistemas software a partir de elementos autónomos interconectados por una estructura simple y coherente. IAGP 19 Modularidad: 5 criterios Cinco criterios, cinco reglas, cinco principios. Requisitos que debe satisfacer un método de construcción de software para merecer el nombre de modular: Permitir una descomposición modular Permitir una composición modular Producir módulos fáciles de comprender Favorecer la continuidad del software Protección modular IAGP 20 10

11 Descomposición modular Un método de construcción de software satisface la descomposición modular si permite la descomposición de un problema en un pequeño número de subproblemas menos complejos, conectados por una estructura simple, y que se pueden abordar por separado. Importante que las dependencias sean mínimas y que se conozcan. Ejemplo: Diseño Descendente Contra-ejemplo: Módulos de Inicialización IAGP 21 Composición modular Un método satisface la composición modular si favorece la producción de elementos software que pueden ser combinados para crear nuevos sistemas, posiblemente en un entorno diferente a aquel en el que se idearon. Relacionada con el objetivo de reutilización Independiente de la descomposición modular Ejemplos: Librerías de rutinas, Filtros de Unix Contra-ejemplo: Preprocesadores de lenguajes IAGP 22 11

12 Comprensión Modular Se satisface si facilita que quién lea un módulo pueda comprenderlo sin necesidad de acudir a otros módulos (en el peor de los casos a unos pocos módulos). Relacionado con el mantenimiento Contra-ejemplo: Dependencias secuenciales IAGP 23 Continuidad Modular Un método satisface la Continuidad Modular si se favorecen arquitecturas software en las que un cambio pequeño en la especificación origina un cambio en un solo módulo, o en un pequeño número de módulos. Relacionado con la extensibilidad Ejemplos: Constantes simbólicas y Principio de Acceso Uniforme Contra- ejemplos: Diseño de programas basado en la representación física de los datos y el uso de vectores estáticos IAGP 24 12

13 Protección Modular Un método satisface la Continuidad Modular si se originan arquitecturas en las que el efecto de una condición excepcional acaecida en tiempo de ejecución sólo afecta al módulo dónde se produce, o sólo se propaga a los módulos vecinos. Relacionado con la robustez Ejemplo: Módulos de entrada de datos comprueben su validez. Contra-ejemplo: Excepciones no disciplinadas. IAGP 25 Modularidad: 5 reglas De los criterios anteriores se derivan cinco reglas que se deben seguir para asegurar la modularidad Correspondencia directa Pocas conexiones entre módulos Intercambio de información intermodular mínimo Conexiones explícitas Ocultamiento de Información Las cuatro últimas se refieren a la comunicación entre módulos: uso o comparticiónde datos IAGP 26 13

14 2.4 Otras consideraciones Impacto de la POO Desarrollo más rápido. Mantenimiento barato Proceso de modelado más simple Diseños más claros y manejables Incremento productividad de programadores Inconveniente: Curva de aprendizaje Diseño con objetos diseño procedural Librerías bien diseñadas y fáciles de usar IAGP 27 Abstracción y modelado Modelado del problema: Proceso de abstracción Lenguajes O.O.: Representa elementos del marco del problema a resolver Código (solución): descripción del problema Objetos: Tienen su estado y pueden realizar operaciones IAGP 28 14

15 Características de la O.O. Todo es un objeto (alumno, factura, polígono) Programa: Conjunto de objetos. Se envían mensajes para decirse qué deben hacer Objetos pueden estar compuestos por otros Cada objeto es de un tipo (instancia de clase) Objetos de un mismo tipo pueden recibir los mismos mensajes IAGP 29 Interface de un objeto Elementos del problema: Entidad (Objeto) Objeto: Pertenece a una clase. Define sus características y comportamiento POO crea nuevos tipos e instancia los objetos necesarios de esos tipos modelado: Mapeo 1 a 1 Problema Solución Tipo: Interface. Informa de las peticiones que se pueden hacer a objetos de ese tipo IAGP 30 15

16 Encapsulación Programador: Dos puntos de vista Crear clases Crear clientes de esas clases Sólo muestra lo necesario para quien programa clientes. Oculta el resto Interface Qué solicitudes puedo hacer? Implementación: Realización de las tareas de la interface Envío de mensajes (ejecución de un método) IAGP 31 Tipos Abstractos de Datos Conjunto de objetos que ofrecen una serie de operaciones Abstracciones matemáticas: No se menciona cómo se implementan las operaciones Java permite la construcción de TAD's Mecanismos para la ocultación de detalles de implementación IAGP 32 16

17 Si se modifica la implementación: El programa que usa el TAD no se modifica Sólo cambian los métodos del TAD Cambios transparentes al resto del programa Operaciones soportadas por el TAD: Decisión de diseño (Programador del TAD) Ejemplos: Listas, conjuntos, grafos,... IAGP 33 Control de acceso Disponibilidad de métodos. Razones: El cliente no necesita ver lo que no le afecta (simplicidad) Modificaciones en la implementación sin afectar a la interface Cliente no afectado Niveles de acceso a miembros: public, private, protected: Quién puede hacer uso IAGP 34 17

18 Clase Subclase Paquete Todos private SI protected SI SI* SI public SI SI SI SI package SI SI IAGP 35 Reutilización Uso habitual: Instanciarun objeto de una clase Composición: Relación "tiene un" (has-a) Clases que contienen objetos de otras clases (member object) Objetos miembro: Privados si no son necesarios en la interface Herencia: Relación "es un" (is-a) Modificación (especialización) de una clase ya existente IAGP 36 18

19 Herencia Evita crear tipos (clases) nuevos por necesidad de similar funcionalidad El nuevo tipo es un duplicado del otro con añadidos y/o modificaciones Modificaciones en la clase original afectan a la clase hija Herencia: Es realmente necesaria? Composición mucho más habitual IAGP 37 Herencia: Subclases Nuevo tipo. Contiene todos los miembros del anterior Los miembros privados son inaccesibles Duplica el interfacede la original. Es del mismo tipo que la clase base Formas de modificar la nueva clase: Añadir nuevos métodos Cambiar el comportamiento de un método (override) IAGP 38 19

20 Herencia: Polimorfismo Objetos de clases derivadas se pueden tratar como de la clase base Permite código independiente del tipo. Fácil de escribir y entender Al añadir nuevos tipos: No hay que reescribir código Programas extensibles IAGP 39 Ejemplos: Polimorfismo: Mensaje a un objeto de tipo desconocido. Se ejecuta el método correcto No hay que especificarlo (en C++ virtual) Upcasting(Conversión a superclase) Ej. Figuras geométricas Enlace dinámico. Ej. Trabajadores y nóminas IAGP 40 20

21 Clases abstractas Subclases diferentes con un interfaceúnico Sólo se permiten objetos de subclases Métodos abstractos (sin implementación) Sólo en clases abstractas Interfaces: Impiden implementar cualquier función Sólo declaraciones Herencia diferente a clases (herencia múltiple) Las subclases "implementan" interfaces IAGP 41 Declaración de clases <acceso> class <nombre> { <miembros> // "members" } Miembros: Atributos: Variables de instancia, globales a la clase. Atributos de clase (información estática, compartida) Constructores. Código de inicialización Métodos. Comportamiento. IAGP 42 21

22 Constructores Se garantiza la inicialización de cada objeto (sus atributos) con un constructor Java invoca al constructor al crear el objeto La instanciación(new) reserva el lugar de almacenamiento e invoca al constructor Nombre del constructor = nombre de la clase Se encargan de todas las operaciones de inicialización necesarias. IAGP 43 Constructor: No tiene valor de retorno Una clase puede tener múltiples constructores Sobrecarga de constructores public class Coordenada { double x, y; public Coordenada(){ x = 0.0; y = 0.0; } public Coordenada (double v1, double v2){ x = v1; y = v2; } } IAGP 44 22

23 Constructor "por defecto". Sin parámetros. Clase sin constructor: El compilador crea un constructor "por defecto". Si hay constructores con argumentos, no se crea el "constructor por defecto". Ejemplo. Error si se invoca el constr. sin parámetros Constructores que invocan a otros constructores: llamada a this(...). Ejemplo. IAGP 45 La referencia this Referencia al objeto actual. Permite invocar métodos del objeto actual. No es necesario this para hacer eso Permite referenciar atributos del objeto actual Necesario si estanocultos por parámetros / variables de ámbito más local. Ejemplo. Permite devolver una ref. al objeto actual Permite invocaciones entre constructores IAGP 46 23

24 La llamada a super Referencia a la superclase de la que desciende la clase actual Reutilización de código por medio de herencia super invoca al comportamiento anterior. Además se puede añadir comportamiento adicional Implícita en constructores como 1ª instrucción en métodos: super.nombre_metodo() IAGP 47 Miembros de tipo static Miembros (métodos o atributos) implementados a nivel de clase Desde métodos static la referencia this no tiene sentido No se puede acceder a miembros no estáticos desde métodos estáticos static: Semántica de "ámbito global" Permite desarrollo de código sin usar POO IAGP 48 24

25 2.5 Lenguaje Smalltalk Surge en los años 1970, en el Centro de Investigación de Xeroxen Palo Alto (PARC) en EE.UU. Creado por Alan Kay, Adele Goldberg y Daniel Ingalls Influenciado por Simula y Lisp El objetivo del proyecto de Smalltalk es proporcionar soporte informatizado para el espíritu creativo Lenguaje de descripción (lenguaje de programación) que sirva como una interface entre los modelos mentales y los modelos en el ordenador, y además un lenguaje de interacción (interfaz de usuario) que traslade los sistemas de comunicación humana a los ordenadores IAGP 49 El sistema debería construirse con el mínimo nº de partes fijas y todas las partes deberían encontrarse en un marco uniforme. Un lenguaje para ordenadores debería: soportar el concepto de Objeto y proporcionar un medio uniforme para identificarlos. proporcionar un medio de clasificar los objetos y de crear nuevas clases con la misma base que las del núcleo. ser Independiente de la representación (polimorfismo) factorizar comportamiento común (herencia) La ejecución debería verse como una capacidad intrínseca de los objetos que pueden ser invocados de manera uniforme mediante el envío de mensajes. IAGP 50 25

26 Para que un lenguaje de desarrollo llegue a ser ampliamente aceptado deber ser estandarizado. A finales de 1993 se creó el Comité para la estandarización de SmalltalkX3J20. El primer borrador aparece a finales de % sintaxis/semántica y 50% Librerías de clases Fácil debido a la simplicidad del lenguaje Código de aplicaciones muy portable En 1995 se forma el STIC (SmallTalk Industry Council) una voz unificada para la comunidad Smalltalk IAGP 51 Los objetivos del STIC son: Lograr que Smalltalk sea el LOO elegido para el desarrollo de aplicaciones en la empresa Responder a las necesidades de la industria Smalltalk Favorecer la aparición de estándares Crear un punto de encuentro para la comunidad Smalltalk Apuntes sobre Smalltalk: IAGP 52 26

27 2.6 Ejemplo Polígonos y Rectángulos Tenemos la clase Poligono y necesitamos representar rectángulos. Debemos crear la clase Rectangulo partiendo de cero? Podemos aprovechar la existencia de similitudes y particularidades entre ambas clases IAGP 53 Un rectángulo tiene muchas de las características de un polígono (rotar, trasladar, vértices,..) Pero tiene características especiales (diagonal) y propiedades especiales (4 lados, ángulos rectos) Algunas características de polígono pueden implementarse más eficientemente class Rectangulo inherit Poligono feature...características específicas para rectángulos end IAGP 54 27

Programación Orientada a Objetos

Programación Orientada a Objetos Universidad de Carabobo Facultad Experimental de Ciencias y Tecnología Departamento de Computación Programación Orientada a Objetos Algoritmos y Programación II Junio, 2004 Las tecnologías de objetos hoy

Más detalles

Introducción a OOP. Programación Orientada a Objeto

Introducción a OOP. Programación Orientada a Objeto Introducción a OOP Programación Orientada a Objeto Evolución Programación no Estructurada, Programación procedimental, Programación modular y Programación orientada a objetos. Programación no Estructurada

Más detalles

UNIDAD 4 IMPLEMENTACION DE PROPIEDADES DE LOS OBJETOS JAVA

UNIDAD 4 IMPLEMENTACION DE PROPIEDADES DE LOS OBJETOS JAVA UNIDAD 4 IMPLEMENTACION DE PROPIEDADES DE LOS OBJETOS JAVA Analista Programador Universitario Universidad Nacional de Jujuy JTP Jorge R. Mendoza Implementación de propiedades de los objetos Java Contenido

Más detalles

Programación Orientada a Objetos. Integrantes: Santiago Hernández Bolívar Edwin Alexander Bohórquez

Programación Orientada a Objetos. Integrantes: Santiago Hernández Bolívar Edwin Alexander Bohórquez Programación Orientada a Objetos Integrantes: Santiago Hernández Bolívar Edwin Alexander Bohórquez Tabla de Contenido Historia. Filosofía del paradigma. Conceptos claves. Ventajas y desventajas. Lenguajes

Más detalles

Tema 1 Introducción al paradigma de programación orientado a objetos

Tema 1 Introducción al paradigma de programación orientado a objetos Tema 1 Introducción al paradigma de programación orientado a objetos Programación Orientada a Objetos Curso 2013/2014 Contenido Paradigmas de programación vs. Lenguajes de programación. Evolución de los

Más detalles

PROGRAMACION ORIENTADA A OBJETOS: Tema 2. Conceptos básicos de la Programación Orientada a Objetos

PROGRAMACION ORIENTADA A OBJETOS: Tema 2. Conceptos básicos de la Programación Orientada a Objetos PROGRAMACION ORIENTADA A OBJETOS: Tema 2. Conceptos básicos de la Programación Orientada a Objetos Presenta: David Martínez Torres Universidad Tecnológica de la Mixteca Instituto de Computación Oficina

Más detalles

Conceptos de Programación Orientada a Objetos

Conceptos de Programación Orientada a Objetos Paradigmas de programación Prog. orientada a objetos Conceptos de Programación Orientada a Objetos Abstracción de Programación estructurada Programación imperativa 2 Programación estructurada (I) Programación

Más detalles

Herencia. Implementación en Java

Herencia. Implementación en Java Herencia Implementación en Java Herencia Concepto de Herencia Es el mecanismo que permite definir nuevas clases partiendo de otras ya existentes. Las clases que derivan de otras heredan automáticamente

Más detalles

Programación Orientada a Objetos. Conceptos Básicos

Programación Orientada a Objetos. Conceptos Básicos Programación Orientada a Objetos Conceptos Básicos Programación Orientada a Objetos Paradigma de programación Un programa orientado a objetos está organizado como un conjunto de agentes en interacción

Más detalles

Análisis y Programación Orientada a Objetos

Análisis y Programación Orientada a Objetos Análisis y Programación Orientada a Objetos Clase 2: Objetos y Clases Qué vamos a aprender Introducción a los conceptos de POO Metodología de Objetos: UML Lenguajes OO: C++, Java Entornos para POO: C++

Más detalles

PRINCIPIOS DE PROGRAMACIÓN. Mtro. en Ingeniería de Software. Especialidad en e-commerce Ismael Jiménez Hernández

PRINCIPIOS DE PROGRAMACIÓN. Mtro. en Ingeniería de Software. Especialidad en e-commerce Ismael Jiménez Hernández PRINCIPIOS DE PROGRAMACIÓN Mtro. en Ingeniería de Software. Especialidad en e-commerce Ismael Jiménez Hernández Objetivos específicos: Al termino de esta clase el alumno: Sabrá cuantos tipos de programación

Más detalles

PNFSI. Asignatura: Desarrollo de Software. Tema 1: Programación Orientada a Objetos

PNFSI. Asignatura: Desarrollo de Software. Tema 1: Programación Orientada a Objetos PNFSI Asignatura: Desarrollo de Software Tema 1: Programación Orientada a Objetos Ing. Zamantha González Abril, 2008 Contenido Conceptos básicos Clase Objeto o instancia Atributos Métodos Constructores

Más detalles

Programación orientada a objetos

Programación orientada a objetos Programación orientada a objetos Dra. Elisa Schaeffer elisa@yalma.fime.uanl.mx 12 de febrero de 2007 MECAS512 Estructura de Datos en C++ PROGRAMACIÓN ORIENTADA A OBJETOS un paradigma de programación programa

Más detalles

IMPLEMENTACIÓN DE CONCEPTOS P.O.O. EN JAVA

IMPLEMENTACIÓN DE CONCEPTOS P.O.O. EN JAVA IMPLEMENTACIÓN DE CONCEPTOS P.O.O. EN JAVA Implementación de conceptos P.O.O. en Java Temario 2. Conceptos de Programación Orientada a Objetos 1. Conceptos de P.O.O. 2. Implementación de conceptos P.O.O

Más detalles

Introducción a la Orientación a Objetos

Introducción a la Orientación a Objetos Introducción a la Orientación a Objetos Breve historia de la OO 1960s. Simula incorpora características propias de la OO. 1970s. Smalltalk. Lenguaje totalmente OO. 1990s. Boom de la OO. 2000-Hoy. Época

Más detalles

Universidad Nacional del Santa E.A.P. Sistemas e Informática Microcomputación III

Universidad Nacional del Santa E.A.P. Sistemas e Informática Microcomputación III HERENCIA Se entiende por herencia el proceso por el que un objeto puede tomar características de otro objeto. La herencia Se puede usar de dos formas: 1. Cuando una clase escrita no llega a cubrir las

Más detalles

UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS (Universidad del Perú, DECANA DE AMÉRICA)

UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS (Universidad del Perú, DECANA DE AMÉRICA) UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS (Universidad del Perú, DECANA DE AMÉRICA) FACULTAD DE INGENIERIA DE SISTEMAS E INFORMATICA ESCUELA PROFESIONAL DE INGENIERÍA DE SOFTWARE 1. INFORMACIÓN GENERAL

Más detalles

UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS (Universidad del Perú, DECANA DE AMÉRICA)

UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS (Universidad del Perú, DECANA DE AMÉRICA) UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS (Universidad del Perú, DECANA DE AMÉRICA) FACULTAD DE INGENIERIA DE SISTEMAS E INFORMATICA ESCUELA PROFESIONAL DE INGENIERÍA DE SOFTWARE 1. INFORMACIÓN GENERAL

Más detalles

! Qué es la POO?! Un paradigma de programación. ! No hay paradigmas mejores ni peores! Todos tienen sus ventajas e inconvenientes

! Qué es la POO?! Un paradigma de programación. ! No hay paradigmas mejores ni peores! Todos tienen sus ventajas e inconvenientes Introducción Programación orientada a objetos Curso INEM. Programación en Java Santiago Muelas Pascual smuelas@fi.upm.es! Qué es la POO?! Un paradigma de programación! Un paradigma es una forma de afrontar

Más detalles

Metodologías en la Ingeniería del Software Métodos Orientados a Objetos

Metodologías en la Ingeniería del Software Métodos Orientados a Objetos Metodologías en la Ingeniería del Software Métodos Orientados a Objetos García Departamento de Ciencias de la Computación Universidad de Alcalá Contenidos Historia Orientación a Objetos (OO) Problemas

Más detalles

Programación orientada a objetos I

Programación orientada a objetos I Introducción Programación orientada a objetos I Curso INEM. Programación en C++ Santiago Muelas Pascual smuelas@fi.upm.es Qué es la POO? Un paradigma de programación Un paradigma es una forma de afrontar

Más detalles

obtenidos a partir de los objetos que manipula. un nuevo paradigma de programación, La POO es Clases su forma de módulo.

obtenidos a partir de los objetos que manipula. un nuevo paradigma de programación, La POO es Clases su forma de módulo. (a) definición (b) elementos y notación (c) modelo de computación (d) ejecución de un sistema (e) exportación selectiva Clases Programación Orientada a Objetos DCIC UNS 2002 47 La POO es un nuevo paradigma

Más detalles

Cada enfoque tiene sus ventajas y desventajas Cada uno es más apropiado para ciertas cosas

Cada enfoque tiene sus ventajas y desventajas Cada uno es más apropiado para ciertas cosas ADyA 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

Más detalles

Curso de Java POO: Programación orientada a objetos

Curso de Java POO: Programación orientada a objetos Curso de Java POO: Programación orientada a objetos Luis Guerra Velasco Curso INEM. Programación en Java Diciembre 2010 Índice 1 Introducción 2 Comportamiento y estado 3 POO en Java 4 Relaciones 5 Herencia

Más detalles

Unidad 2. Elementos Intermedios del Lenguaje

Unidad 2. Elementos Intermedios del Lenguaje Unidad 2 Elementos Intermedios del Lenguaje Paradigmas de Programación Un paradigma de programación se refiere a la forma en que se entiende, diseña y desarrolla una aplicación Imperativo Declarativo Funcional

Más detalles

acceso Implementación de conceptos P.O.O. en Java Orientada a Objetos 2. Modificadores de en Java Temario

acceso Implementación de conceptos P.O.O. en Java Orientada a Objetos 2. Modificadores de en Java Temario Implementación de conceptos P.O.O. en Java Temario 2. Conceptos de Programación Orientada a Objetos 1. Conceptos de P.O.O. 2. Implementación de conceptos P.O.O en Java 1. Creación de clases y objetos 2.

Más detalles

HERENCIA Y TIPOS. Articulo. Video Audio Altavoces. Amplificador

HERENCIA Y TIPOS. Articulo. Video Audio Altavoces. Amplificador HERENCIA Y TIPOS. Las clases con propiedades y funciones comunes se agrupan en una superclase. Las clases que se derivan de una superclase son las subclases. Las clases se organizan como jerarquía de clases.

Más detalles

Programación n de sistemas

Programación n de sistemas Programación n de sistemas Orientación a Objetos en Java I. Programación Basada en objetos II. Programación orientada a objetos Ingeniería Telemática M. Carmen Fernández Panadero mcfp@it.uc3m.es

Más detalles

Implementación de Componentes

Implementación de Componentes Implementación de Componentes Concepto Un componente es una parte no trivial, casi independiente, y reemplazable de un sistema que llena claramente una funcionalidad dentro de un contexto en una arquitectura

Más detalles

Centro Asociado Palma de Mallorca. Antonio Rivero Cuesta

Centro Asociado Palma de Mallorca. Antonio Rivero Cuesta Centro Asociado Palma de Mallorca Introducción Práctica de Programación Java Antonio Rivero Cuesta Sesión VIII Composición... 4 Herencia... 8 Herencia e Inicialización... 11 Constructor de Superclase...

Más detalles

UNIVERSIDAD AUTÓNOMA DE CHIAPAS LICENCIATURA EN SISTEMAS COMPUTACIONALES

UNIVERSIDAD AUTÓNOMA DE CHIAPAS LICENCIATURA EN SISTEMAS COMPUTACIONALES UNIVERSIDAD AUTÓNOMA DE CHIAPAS LICENCIATURA EN SISTEMAS COMPUTACIONALES Área de formación: Disciplinaria Unidad académica: Programación Orientada a Objetos Ubicación: Cuarto Semestre Clave: 2087 Horas

Más detalles

Tema 1.- Conceptos básicos de la OO

Tema 1.- Conceptos básicos de la OO Tema 1.- Conceptos básicos de la OO 1. HISTORIA DE LOS CONCEPTOS... 2 2. OBJETOS Y MENSAJES... 3 3. CLASES DE OBJETOS... 5 4. HERENCIA... 8 5. OTROS CONCEPTOS... 9 6. DESARROLLO ORIENTADO A OBJETOS...

Más detalles

Centro Asociado Palma de Mallorca. Antonio Rivero Cuesta

Centro Asociado Palma de Mallorca. Antonio Rivero Cuesta Centro Asociado Palma de Mallorca Introducción Práctica de Programación Java Antonio Rivero Cuesta Sesión IX Composición... 4 Herencia... 8 Herencia e Inicialización... 12 Constructor de Superclase...

Más detalles

Objetivos. Objetivos. Herencia. Objetivos. agregar funcionalidad a una clase existente, sin compilar su nueva definición.

Objetivos. Objetivos. Herencia. Objetivos. agregar funcionalidad a una clase existente, sin compilar su nueva definición. (a) objetivos (b) terminología (c) polimorfismo (d) tipeo y herencia (e) vinculación dinámica de código (f) clases abstractas (g) soporte en JAVA (h) significado de la herencia (i) herencia y aserciones

Más detalles

Guía práctica de estudio 08: Polimorfismo

Guía práctica de estudio 08: Polimorfismo Guía práctica de estudio 08: Polimorfismo Elaborado por: M.C. M. Angélica Nakayama C. Ing. Jorge A. Solano Gálvez Autorizado por: M.C. Alejandro Velázquez Mena Guía práctica de estudio 08: Polimorfismo

Más detalles

Federico Peinado

Federico Peinado Federico Peinado www.federicopeinado.es Depto. de Ingeniería del Software e Inteligencia Artificial disia.fdi.ucm.es Facultad de Informática www.fdi.ucm.es Universidad Complutense de Madrid www.ucm.es

Más detalles

Programación Orientada a Objetos

Programación Orientada a Objetos Programación Orientada a Objetos Teoría: Begoña Moros Valle Prácticas: Marcos Menárguez Tortosa Contenido Presentación contenido teórico Presentación contenido práctico Introducción a la Programación Orientada

Más detalles

UAA-DSE Programación 2 / C++ Eduardo Serna-Pérez

UAA-DSE Programación 2 / C++ Eduardo Serna-Pérez 6 Herencia y Polimorfismo La Herencia y el Polimorfismo son dos de los principales mecanismos de programación que caracterizan a la programación orientada a objetos. La herencia sustenta su mecanismo en

Más detalles

PROGRAMACION ORIENTADA A OBJETOS EN C++

PROGRAMACION ORIENTADA A OBJETOS EN C++ PROGRAMACION ORIENTADA A OBJETOS EN C++ 1- INTRODUCCIÓN El lenguaje C++ representa el resultado de los esfuerzos realizados para proporcionar las ventajas de la programación Orientada a Objetos a un lenguaje

Más detalles

Modelo Dinámico del Diseño del Software y Representación en UML. UNIDAD 9 Análisis y Diseño de Sistemas de Información

Modelo Dinámico del Diseño del Software y Representación en UML. UNIDAD 9 Análisis y Diseño de Sistemas de Información Modelo Dinámico del Diseño del Software y Representación en UML UNIDAD 9 Análisis y Diseño de Sistemas de Información El Modelo Dinámico El objetivo del modelo Dinámico es presentar o describir el comportamiento

Más detalles

! Fundamentos de la POO. ! Comportamiento y estado. ! Clases y objetos en Java

! Fundamentos de la POO. ! Comportamiento y estado. ! Clases y objetos en Java Introducción a la programación orientada a objetos Curso de Programación en Java! Fundamentos de la POO! Comportamiento y estado! Clases y objetos en Java Contenidos Luis Guerra l.guerra@upm.es Enero 2012

Más detalles

Introducción al Lenguaje "C++"

Introducción al Lenguaje C++ UNIDAD 2 Introducción al Lenguaje "C++" 1.- La programación Orientada a Objetos. La Programación Orientada a Objetos no es un concepto nuevo, data de hace unas dos decadas. El origen de la Programación

Más detalles

Introducción a la Programación Orientada a Objetos

Introducción a la Programación Orientada a Objetos INSTITUTO MATEMÁTICO Y ACTUARIAL MEXICANO LICENCIATURA EN ACTUARÍA PROGRAMACIÓN Introducción a la Programación Orientada a Objetos Gerardo Avilés Rosas gaviles@imam.com.mx Programar Una tarea fácil? 2

Más detalles

Lenguajes de Programación I

Lenguajes de Programación I Lenguajes de Programación I Orientación a Objetos Ernesto Hernández-Novich Copyright c 2006-2010 Módulos como abstracción de datos Los módulos conducen a un estilo de programación en el cual

Más detalles

Unidad IV. Este tipo de codificación nos es permitido gracias a la sobrecarga, la cual se aplica a métodos y constructores.

Unidad IV. Este tipo de codificación nos es permitido gracias a la sobrecarga, la cual se aplica a métodos y constructores. Unidad IV Métodos. 4.1 Definición de un método. El polimorfismo, en programación orientada a objetos, se refiere a la posibilidad de acceder a un variado rango de funciones distintas a través del mismo

Más detalles

Programación. Orientada a Objetos. Prof. Angela Di Serio. Universidad Simón Bolívar Especialización en Telemática

Programación. Orientada a Objetos. Prof. Angela Di Serio. Universidad Simón Bolívar Especialización en Telemática Programación Orientada a Objetos Prof. Angela Di Serio Universidad Simón Bolívar Especialización en Telemática Agenda Clase 2 Qué es Orientado a Objetos? Conceptos: objeto, clase, instancias, mensajes

Más detalles

Conceptos fundamentales de Programación Orientada a Objetos. 1ª parte Programación Orientada a Objetos Tema 3: Conceptos fundamentales de POO

Conceptos fundamentales de Programación Orientada a Objetos. 1ª parte Programación Orientada a Objetos Tema 3: Conceptos fundamentales de POO TEMA 3 1 Conceptos fundamentales de Programación Orientada a Objetos. 1ª parte CONTENIDOS 2 1. Introducción 2. Objetos 3. Clases 4. Instancias 5. Análisis y diseño OO Introducción 3 Qué es la POO? Un método

Más detalles

PROGRAMACIÓN ORIETADA A OBJETOS

PROGRAMACIÓN ORIETADA A OBJETOS PROGRAMACIÓN ORIETADA A OBJETOS Categorías de PL Categorías Procedimental Declarativa Imperativa Estructurada Orientada a Objetos Funcional Lógica Programación Orientada a Objetos DATOS DATOS Métodos Métodos

Más detalles

PROGRAMA JAVA SE (Standard Edition) MODALIDAD ONLINE

PROGRAMA JAVA SE (Standard Edition) MODALIDAD ONLINE PROGRAMA JAVA SE (Standard Edition) MODALIDAD ONLINE JAVA SE (Standard Edition): El curso proporciona la base que necesita cualquier programador de Java, tanto en cuanto a las peculiaridades de la tecnología

Más detalles

Tipos Abstractos de Datos (TAD) Lección 1

Tipos Abstractos de Datos (TAD) Lección 1 Tipos Abstractos de Datos (TAD) Lección 1 Esquema Paradigmas de programación Definición de TAD Programación con TAD Ventajas de la programación con TAD Lectura recomendada: secciones 1.1 y 1.2 del libro

Más detalles

Modelado Estructural F E B R E R O,

Modelado Estructural F E B R E R O, Modelado Estructural F E B R E R O, 2 0 1 4 Modelado Estructural Sirve para describir los diferentes tipos y relaciones estáticas existentes entre los diferentes objetos de un sistema. A la hora de desarrollar

Más detalles

Programación Orientada a Objetos

Programación Orientada a Objetos Programación Orientada a Objetos Teoría: Begoña Moros Valle Prácticas: Marcos Menárguez Tortosa Contenido Presentación contenido teórico Presentación contenido práctico Introducción a la Programación Orientada

Más detalles

TEMA 5. Agenda. Herencia

TEMA 5. Agenda. Herencia TEMA 5 Herencia V1.3 Manuel Pereira González Agenda Implementación Métodos Heredados vs Sobreescritos La Clase Object Resumen 1 Introducción Herencia Una clase (subclase ó clase hija) hereda la estructura

Más detalles

Curso: Java SE (Standard Edition)

Curso: Java SE (Standard Edition) El curso proporciona la base que necesita cualquier programador de Java, tanto en cuanto a las peculiaridades de la tecnología que engloba Java SE, como del lenguaje de programación en sí. También se estudian

Más detalles

TEMA 1: Orientación a Objetos, una técnica para mejorar la calidad del software. Programación Orientada a Objetos Curso 2009/2010

TEMA 1: Orientación a Objetos, una técnica para mejorar la calidad del software. Programación Orientada a Objetos Curso 2009/2010 TEMA 1: Orientación a Objetos, una técnica para mejorar la calidad del software Programación Orientada a Objetos Curso 2009/2010 Índice Calidad del software Modularidad Reutilización Criterios para encontrar

Más detalles

Academia de computación de IE, ICA e ISISA. Unidad didáctica Programación Orientada a Objetos

Academia de computación de IE, ICA e ISISA. Unidad didáctica Programación Orientada a Objetos Academia de computación de IE, ICA e ISISA Unidad didáctica Programación Orientada a Objetos Elaboración y diseño de cien reactivos de opción múltiple para la unidad didáctica programación orientada a

Más detalles

Introducción código transversal

Introducción código transversal Introducción La aparición de la programación Orientada a Objetos (OO) tuvo un efecto dramático en el desarrollo de software. En la actualidad, los desarrolladores crean aplicaciones utilizando clases y

Más detalles

Algoritmos y Estructuras de Datos: Introducción a los TAD y los Algoritmos. Guillermo Román Díez

Algoritmos y Estructuras de Datos: Introducción a los TAD y los Algoritmos. Guillermo Román Díez Algoritmos y Estructuras de Datos: Introducción a los TAD y los Algoritmos Guillermo Román Díez groman@fi.upm.es Universidad Politécnica de Madrid Curso 2015-2016 Guillermo Román, UPM AED: Introducción

Más detalles

Clases y Objetos en C++

Clases y Objetos en C++ Informática II Clases y Objetos en C++ Introducción Las variables de los tipos fundamentales de datos no son suficientes para modelar adecuadamente objetos del mundo real. alto, ancho y longitud para representar

Más detalles

CLASE 9 -HERENCIA Y POLIMORFISMO

CLASE 9 -HERENCIA Y POLIMORFISMO CLASE 9 -HERENCIA Y POLIMORFISMO INTRODUCCIÓN Diferentes tipos de objetos con características y comportamiento comunes. lado1 lado2 lado3 color de línea color de relleno punto Triángulo Círculo radio color

Más detalles

3.1 Introducción a TDA y OO. Capítulo III. Tipos de Datos Abstractos, Orientación a Objetos y Lenguaje Java

3.1 Introducción a TDA y OO. Capítulo III. Tipos de Datos Abstractos, Orientación a Objetos y Lenguaje Java Capítulo III 3.1 Introducción a TDA y OO Tipos de Datos Abstractos, Orientación a Objetos y Lenguaje Java Problemas en el Desarrollo de Grandes Programas ❶ Cómo organizar una pieza de software, de manera

Más detalles

Tema: Herencia en C#.

Tema: Herencia en C#. Programación II. Guía No. 8 1 Facultad: Ingeniería Escuela: Computación Asignatura: Programación II Tema: Herencia en C#. Objetivos Crear clases a través de la herencia de clases existentes. Describir

Más detalles

Guía práctica de estudio 04: Clases y objetos

Guía práctica de estudio 04: Clases y objetos Guía práctica de estudio 04: Clases y objetos Elaborado por: M.C. M. Angélica Nakayama C. Ing. Jorge A. Solano Gálvez Autorizado por: M.C. Alejandro Velázquez Mena Guía práctica de estudio 04: Clases y

Más detalles

Híper introducción a Objetos

Híper introducción a Objetos Híper introducción a Objetos Herman Schinca Clase 27 y última! 1 de Julio de 2011 Paradigma de Objetos Al igual que Funcional, se trata de una filosofía, de un paradigma, no de un lenguaje particular.

Más detalles

Programación Orientada a Objetos. Resumen de Temas Unidad 3: Constructores y destructores

Programación Orientada a Objetos. Resumen de Temas Unidad 3: Constructores y destructores Programación Orientada a Objetos Resumen de Temas Unidad 3: Constructores y destructores 3.1 Conceptos de métodos constructor y destructor Java inicializa siempre con valores por defecto las variables

Más detalles

Programación orientada a objetos. Resumen de Temas Unidad 5: Herencia

Programación orientada a objetos. Resumen de Temas Unidad 5: Herencia Programación orientada a objetos Resumen de Temas Unidad 5: Herencia 5.1 Introducción a la Herencia La herencia es el mecanismo fundamental de relación entre clases en la orientación a objetos. Relaciona

Más detalles

UD 1 INTRODUCCIÓN AL PARADIGMA ORIENTADO A OBJETOS

UD 1 INTRODUCCIÓN AL PARADIGMA ORIENTADO A OBJETOS UD 1 INTRODUCCIÓN AL PARADIGMA ORIENTADO A OBJETOS Pedro J. Ponce de León Versión 0.8 Indice El progreso de la abstracción Definición de la abstracción Lenguajes de programación y niveles de abstracción

Más detalles

TEMA 6: INTRODUCCIÓN A UML

TEMA 6: INTRODUCCIÓN A UML TEMA 6: INTRODUCCIÓN A UML Por qué modelamos? El modelado es una parte central de todas las actividades que conducen a la producción de un software de calidad. Como tal la ingeniería software debe basarse

Más detalles

Definiciones en Orientación a Objetos

Definiciones en Orientación a Objetos Definiciones en Orientación a Objetos Dr. Oldemar Rodríguez Rojas Escuela de Informática Paradigma Funcional Ø Se basan en la idea de que el Dominio de una Aplicación y los Requerimientos se pueden modelar,

Más detalles

PROGRAMACIÓN EN JAVA

PROGRAMACIÓN EN JAVA 1. INTRODUCCIÓN A LA PROGRAMACIÓN 1.1. Datos, algoritmos y programas 1.1.1. Definición de algoritmo 1.1.2. Datos 1.1.3. Características de un programa 1.2. Paradigmas de programación 1.2.1. Programación

Más detalles

Programación Orientada a Objetos en C++

Programación Orientada a Objetos en C++ Unidad I Programación Orientada a Objetos en C++ Programación Orientada a Objetos en C++ Programación I - 0416202 Contenido Esta lección abarca los siguientes temas: Estructura y declaración de una clase

Más detalles

Programación Orientada o Objetos

Programación Orientada o Objetos Programación Orientada o Objetos Programación digital II Escuela de Sistemas Facultad de Ingeniería Profesor: Gilberto Diaz Programación Orientada a Objetos En 1970 Dennis Ritchie y Brian Kernigan crearon

Más detalles

CAPÍTULO 2: CARACTERÍSTICAS DE LA PROGRAMACIÓN ORIENTADA A OBJETOS. ABSTRACCIÓN. ENCAPSULAMIENTO. PRINCIPIO DE OCULTACIÓN. HERENCIA. POLIMORFISMO.

CAPÍTULO 2: CARACTERÍSTICAS DE LA PROGRAMACIÓN ORIENTADA A OBJETOS. ABSTRACCIÓN. ENCAPSULAMIENTO. PRINCIPIO DE OCULTACIÓN. HERENCIA. POLIMORFISMO. 1 UNIDAD 1: ORIENTACIÓN A OBJETOS. CAPÍTULO 1: INTRODUCCIÓN. HISTORIA. ESPÍRITU DEL PARADIGMA ORIENTADO A OBJETOS. CONCEPTOS BÁSICOS: OBJETO, ATRIBUTO, MÉTODO, MIEMBRO, MENSAJE, CLASE, EVENTO. CAPÍTULO

Más detalles

PROGRAMACION II. Dr. Mario Rossainz López. Fac. de Cs. de la Computación Benemérita Universidad Autónoma de Puebla Primavera de 2017

PROGRAMACION II. Dr. Mario Rossainz López. Fac. de Cs. de la Computación Benemérita Universidad Autónoma de Puebla Primavera de 2017 PROGRAMACION II Dr. Mario Rossainz López Fac. de Cs. de la Computación Benemérita Universidad Autónoma de Puebla Primavera de 2017 ABSTRACCIÓN: Proceso mental e intelectual que ignora selectivamente partes

Más detalles

Conceptos. ELO329: Diseño y Programación Orientados a Objetos. ELO 329: Diseño y Programación Orientados a Objetos 1

Conceptos. ELO329: Diseño y Programación Orientados a Objetos. ELO 329: Diseño y Programación Orientados a Objetos 1 Conceptos ELO329: Diseño y Programación Orientados a Objetos ELO 329: Diseño y Programación Orientados a Objetos 1 Paradigmas de Programación Historia: Los computadores parten cableados por hardware, Luego

Más detalles

Modelo de Orientación a Aspectos

Modelo de Orientación a Aspectos Modelo de Orientación a Aspectos Noviembre, 2010 Ing. Sahyra Yépez Agenda Qué es el Modelo Orientado a Aspectos? Qué es un Aspecto? Programación Orientada a Aspectos Funcionamiento de POA Características

Más detalles

Clases y herencia. FJP Unidad 8. Diseño de clases

Clases y herencia. FJP Unidad 8. Diseño de clases Clases y herencia FJP Unidad 8 Encapsulamiento Diseño de clases El encapsulamiento provee protección de atributos y métodos definidos en una clase de forma tal que comportamiento de objetos de una clase

Más detalles

INFORMÁTICA INDUSTRIAL

INFORMÁTICA INDUSTRIAL INFORMÁTICA INDUSTRIAL Programación Orientada a Objetos M. Abderrahim, A. Castro, J. C. Cas3llo Departamento de Ingeniería de Sistemas y Automá3ca 1. Introducción Características Generales La orientación

Más detalles

Introducción y conceptos de POO

Introducción y conceptos de POO Fernández Universidad Autónoma de Madrid 20 de febrero de 2009 Introducción Introducción En qué consiste la Programación Orientada a Objetos? Vocabulario básico Ejemplo sencillo En qué consiste la POO?

Más detalles

INTRODUCCION A LA PROGRAMACIÓN ORIENTADA A OBJETOS

INTRODUCCION A LA PROGRAMACIÓN ORIENTADA A OBJETOS INTRODUCCION A LA PROGRAMACIÓN ORIENTADA A OBJETOS Introducción La programación orientada a objetos es un enfoque de programación de los más populares y viene teniendo gran aceptación en el desarrollo

Más detalles

Programación orientada a objetos

Programación orientada a objetos Repaso Programación orientada a objetos Curso INEM. Programación en Java Santiago Muelas Pascual smuelas@fi.upm.es! Herencia! Superclase/subclase! super! Modificador protected! Redefinicion de métodos!

Más detalles

Tema: Funciones Virtuales y Polimorfismo.

Tema: Funciones Virtuales y Polimorfismo. Programación II. Guía No. 10 1 Facultad: Ingeniería Escuela: Computación Asignatura: Programación II Tema: Funciones Virtuales y Polimorfismo. Objetivos Comprender que es ligadura e identificar sus tipos.

Más detalles

Tema: Funciones Virtuales y Polimorfismo.

Tema: Funciones Virtuales y Polimorfismo. Programación II. Guía 10 1 Facultad: Ingeniería Escuela: Computación Asignatura: Programación II Tema: Funciones Virtuales y Polimorfismo. Objetivos Específicos Comprender que es ligadura e identificar

Más detalles

Edwin Andrés Cubillos Vega

Edwin Andrés Cubillos Vega PROGRAMACION ORIENTADA A OBJETOS Edwin Andrés Cubillos Vega Company LOGO Contenido Introducción Clases y Objetos Herencia Constructores y Destructores Polimorfismo Contenido Introducción Clases y Objetos

Más detalles

Contenido. Prefacio Orígenes de la programación orientada a objetos... 1

Contenido. Prefacio Orígenes de la programación orientada a objetos... 1 Prefacio... xv 1. Orígenes de la programación orientada a objetos... 1 1.1 La crisis del software... 1 1.2 Evolución del software... 3 1.3 Introducción a la programación orientada a procedimientos... 4

Más detalles

Curso de Java POO: Programación orientada a objetos

Curso de Java POO: Programación orientada a objetos Curso de Java POO: Programación orientada a objetos Luis Guerra l.guerra@upm.es Curso INEM. Programación en Java Marzo 2011 Índice Previo Repaso y encapsulación Empaquetado Relaciones entre clases Herencia

Más detalles

Programación Orientada a Objetos

Programación Orientada a Objetos Programación Orientada a Objetos E.T.S.I. Informática Universidad de Málaga http://www.lcc.uma.es/ Contenido Introducción histórica Conceptos básicos de la Programación O. O. Conceptos avanzados de la

Más detalles

Tema 1. Introducción a la Programación Orientada a Objetos

Tema 1. Introducción a la Programación Orientada a Objetos Tema 1. Introducción a la Programación Orientada a Objetos Dpto. Lenguajes y Ciencias de la Computación. E.T.S.I. Informática. Universidad de Málaga Programación Orientada a Objetos Dpto. Lenguajes y Ciencias

Más detalles

Iván Bernal, PhD 4. Aplicaciones. C, Basic, Fortran. Lenguaje Ensamblador. Hardware. Hardware

Iván Bernal, PhD 4. Aplicaciones. C, Basic, Fortran. Lenguaje Ensamblador. Hardware. Hardware Programación Orientada a Objetos Clase # 2 Introducción a la POO Jueves, 11 de Abril de 2002 Iván Bernal, Ph.D Escuela Politécnica Nacional email: imbernal@mailfie.epn.edu.ec Agenda Introducción al Diseño

Más detalles

Tema 1: Introducción a las Computadores y Lenguajes de. Programa

Tema 1: Introducción a las Computadores y Lenguajes de. Programa Tema 1: Introducción a las Computadores y Lenguajes de programación: Paradigmas de la programación. Programa Arquitectura del Computador Input Células de memoria Información (words) Dirección Output w

Más detalles

INTRODUCCIÓN...9 CAPÍTULO 1. ELEMENTOS DE UN PROGRAMA INFORMÁTICO...11

INTRODUCCIÓN...9 CAPÍTULO 1. ELEMENTOS DE UN PROGRAMA INFORMÁTICO...11 Índice INTRODUCCIÓN...9 CAPÍTULO 1. ELEMENTOS DE UN PROGRAMA INFORMÁTICO...11 1.1 PROGRAMA Y LENGUAJESDE PROGRAMACIÓN...12 1.1.1 EL LENGUAJE JAVA...13 1.1.2 EL JDK...15 1.1.3 LOS PROGRAMAS EN JAVA...16

Más detalles

Programación orientada a objetos. Introducción

Programación orientada a objetos. Introducción Programación orientada a objetos Clases: Polimorfismo Introducción El polimorfismo, en general, es la característica de un lenguaje orientado a objetos que permite que un mismo identificador de método

Más detalles

UML: Diagrama de Clases

UML: Diagrama de Clases UML: Diagrama de Clases JUAN CARLOS CONDE RAMÍREZ INTRODUCTION TO PROGRAMMING Objetivos Entender el propósito de los diagramas de clases UML. Comprender la importancia de este tipo de diagramas para la

Más detalles

PARTE 1: INTRODUCCIÓN DE LA PLANIFICACIÓN. Carrera y plan: Analista Programador Universitario Plan 2008.

PARTE 1: INTRODUCCIÓN DE LA PLANIFICACIÓN. Carrera y plan: Analista Programador Universitario Plan 2008. PARTE 1: INTRODUCCIÓN DE LA PLANIFICACIÓN Identificación: Carrera y plan: Analista Programador Universitario Plan 2008. Asignatura: Programación Orientada a Objetos. Condiciones para el desarrollo de la

Más detalles

Tema 6: Clases. Índice

Tema 6: Clases. Índice Tema 6: Clases Antonio J. Sierra Índice 1. Fundamentos. 2. Declaración de objetos. 3. Asignación de objetos a variables referencia. 4. Métodos. 5. Constructores. 6. this. 7. Recogida de basura. 8. Modelado

Más detalles