05/23/2002 Programación Orientada a Objetos. Programación Orientada a Objetos. Iván Bernal, Ph.D. 4
|
|
- Yolanda Guzmán Salinas
- hace 6 años
- Vistas:
Transcripción
1 Programación Orientada a Objetos Clase # 7 Polimorfismo Jueves, 23 de Mayo de 2002 Agenda Polimorfismo. Operadores new y delete Iván Bernal, Ph.D. Escuela Politécnica Nacional imbernal@mailfie.epn.edu.ec I. Bernal Iván Bernal, Ph.D. 2 Polimorfismo (1) Con una jerarquía de tipos, suele ser conveniente manipular un objeto utilizando el tipo de la base y no el tipo específico. Se puede escribir código que no depende de un tipo específico. Ejemplo con las formas geométricas: Se puede escribir código que manipule las formas de manera genérica sin considerar si son círculos, cuadrados, triángulos, etc. Toda forma requiere ser dibujada, borrada y movida. El código que las manipula simplemente envía mensajes a un objeto Forma Geométrica, no se preocupa como cada objeto se encarga de manejar el mensaje. Iván Bernal, Ph.D. 3 Polimorfismo (2) Código como el descrito no se verá afectado por la inclusión de nuevos tipos. Añadir nuevos tipos es la manera más común de extender un programa que use POO, para resolver nuevas demandas del programa. Se podría derivar un nuevo tipo: Pentágono sin modificar aquella parte del código que manipula las forma genéricas. Este tipo de facilidad mejora los diseños al mismo tiempo que reduce los costos de mantenimiento del software. Iván Bernal, Ph.D. 4
2 Polimorfismo (3) Problema: Si una función por ejemplo, comanda que una forma genérica se dibuje, o a un ave genérica que vuele, el compilador no sabe con precisión, el momento de la compilación, la sección de código que se va a ejecutar. Pero eso es lo que quiere el programador, cuando se envíe el mensaje, no quiere saber cuál será el código que se ejecutará. El comando para dibujar una forma geométrica se aplica por igual a un círculo, a un cuadrado, a un triángulo, y el código a ejecutarse dependerá del tipo específico del objeto. Al no conocer la sección exacta de código a ejecutarse, se puede añadir tipos y el código a ejecutarse para este nuevo tipo será diferente, sin necesidad de hacer cambios a la función que comanda las operaciones del tipo genérico. Iván Bernal, Ph.D. 5 Polimorfismo (4) En la figura se tiene un controlador (BirdController) de objetos tipo pájaro (Bird). El controlador no sabe el tipo específico de los objetos tipo pájaro. Para el BirdController esto es conveniente ya que no necesita escribir código para primero descubrir que tipo de objeto se usará en un determinado momento. Cuando se invoque la función move( ), sin conocer el tipo específico de Bird,, el comportamiento adecuado para cada objeto será ejecutado (un ganso Goose- corre, vuela o nada y un pingüino Penguin- corre o nada. Iván Bernal, Ph.D. 6 Polimorfismo (5) Polimorfismo (6) Cómo se consigue lo mencionado en el ejemplo? La respuesta es uno de los trucos fundamentales utilizados en POO. El compilador de un lenguaje tradicional, cuando se llama a una función se produce lo que se conoce como asociación temprana (early binding). El compilador genera una llamada usando el nombre de una función específica, y el enlazador (linker) resuelve la llamada e incluye la dirección del código que va a ser ejecutado. En POO, no se puede determinar la dirección del código a ejecutarse sino hasta que el programa esté en ejecución. Iván Bernal, Ph.D. 7 Iván Bernal, Ph.D. 8
3 Polimorfismo (7) Lenguajes OO utilizan el concepto de asociación tardía (late binding). Cuando se envía un mensaje a un objeto, el código llamado no se determina hasta que el programa está en ejecución. En C++, el compilador inserta una sección de código en lugar de una llamada absoluta a una función. Este código calculará la dirección del cuerpo de la función, utilizando información almacenada en el objeto que se invoque. Iván Bernal, Ph.D. 9 Polimorfismo (8) Para indicar que se desea que una función de una clase tenga la flexibilidad de late-binding, se utiliza la palabra clave virtual. No es necesario entender en detalle los mecanismos detrás de esta palabra, pero sin ella no se puede hacer POO en C++. Las funciones virtuales permiten expresar diferencias en el comportamiento de objetos de clases de una misma jerarquía. Iván Bernal, Ph.D. 10 Polimorfismo (9) Polimorfismo (10) Para demostrar la idea de polimorfismo, se usa la jerarquía de clases de la figura y se presenta código que utiliza la clase base y no se interesa de los detalles de los otros tipos. Si un nuevo tipo digamos Hexagon es añadido con herencia, el código presentado también trabajará. Iván Bernal, Ph.D. 11 Iván Bernal, Ph.D. 12
4 Polimorfismo (11) void HacerAlgo(Shape& s) { s.erase(); //... s.draw(); } Esta función manipula cualquier objeto Shape: : es decir, es independiente del tipo específico del objeto que se pase como referencia en la función. Polimorfismo (12) En algún lugar e nuestro programa se utilizará la función HacerAlgo() (): Circle c; Triangle t; Line l; HacerAlgo(c); HacerAlgo(t); HacerAlgo(l); Iván Bernal, Ph.D. 13 Iván Bernal, Ph.D. 14 Polimorfismo (13) Considerando la línea: HacerAlgo() (); Un objeto Circle se pasa como argumento a una función que espera un Shape. Puesto que un Circle es un Shape, el círculo puede tratarse como un Shape dentro de HacerAlgo( ). Cualquier mensaje que HacerAlgo() puede enviar a un Shape,, puede ser aceptado por un Circle. Iván Bernal, Ph.D. 15 Polimorfismo (14) En la función HagaAlgo(), se tiene las líneas: s.erase(); //... s.draw(); Debe notarse que no dice si s es un círculo (Circle) haga tal cosa, y si s es un cuadrado (Square) Square),, haga esta otra, etc. Escribir código que cheque por todos los tipos que pueden pasar como Shape, puede ser complicado y confuso y debe ser alterado cada vez que se añada un nuevo tipo Shape. Iván Bernal, Ph.D. 16
5 Polimorfismo (15) En el ejemplo se asume que cualquier objeto pasado como argumento es del tipo Shape,, y cada uno sabe como erase( ) y draw( ),, y sabe como manejar los detalles de la operación. Lo impresionante del código en HagaAlgo( ) es que de algún modo, se obtiene el comportamiento deseado. Invocando draw( ) para Circle hace que diferente código se ejecute comparado con cuando se invoca draw( ) para un Square ó un Line. Al enviar el mensaje draw( ) al objeto anónimo Shape,, se invoca el código específico basado en el tipo real de Shape. Polimorfismo (16) Esto es muy interesante ya que, como se mencionó, el compilador no puede saber exactamente el tipo con el cual estará trabajando. De forma intuitiva se podría pensar que se llamen las versiones de erase( ) y draw( ) pero de Shape,, y no las versiones específicas de Circle, Square,, o Line. Sin embargo, el comportamiento adecuado se tiene gracias al Polimorfismo. El compilador y el sistema de soporte del lenguaje al tiempo de ejecución se encargan de los detalles. Iván Bernal, Ph.D. 17 Iván Bernal, Ph.D. 18 Polimorfismo (17) Lo que el programador necesita saber es que polimorfismo está presente y disponible. Sobre todo el programador debe saber como diseñar usando Polimorfismo. Si una función es virtual,, cuando se envíe un mensaje a un objeto, de alguna forma el objeto hará la cosa correcta. Creación y destrucción de objetos (1) Técnicamente, el dominio de la POO es la introducción de tipos de datos abstractos, herencia y polimorfismo, pero existen otros aspectos importantes a revisarse. Construcción y destrucción de objetos. En donde están los datos de un objeto? Cómo se controla el tiempo de vida de un objeto? Iván Bernal, Ph.D. 19 Iván Bernal, Ph.D. 20
6 Creación y destrucción de objetos (2) C++ ofrece dos alternativas: El almacenamiento y tiempo de vida de un objeto puede determinarse el momento de la compilación, se ubican los objetos en el stack ó almacenamiento estático. Las variables en el stack se denominan automáticas (automatic) ó de alcance determinado (scoped). El área de almacenamiento estático es una sección de memoria que se reserva antes de que el programa inicie su ejecución. Creación y destrucción de objetos (3) Usar las dos opciones ayuda a obtener menores tiempos de ejecución del programa en ciertas tareas, pero se pierde flexibilidad. Se debe saber el número exacto, el tiempo de vida y el tipo de los objetos, al momento de escribir el programa. Iván Bernal, Ph.D. 21 Iván Bernal, Ph.D. 22 Creación y destrucción de objetos (4) La segunda opción es crear objetos dinámicamente en un área de memoria llamada heap. No se conoce sino hasta el tiempo de ejecución del programa cuantos objetos se necesitan, cuál es su tiempo de vida y cual es su tipo exacto. Si se necesita un objeto adicional, se lo construye en el heap,, utilizando la palabra clave new.. Cuando no se requiere más un objeto y se desea liberar el almacenamiento asociado, se desecha el objeto utilizando la palabra clave delete. Creación y destrucción de objetos (5) Debido a que la reserva del almacenamiento se lo realiza dinámicamente durante la ejecución del programa, el tiempo requerido para reservar espacio en el heap es mucho mayor que si se ubicaran los objetos en el stack. Pero se obtiene mayor flexibilidad, esencial para resolver algunos problemas de programación. Cuando se crea el objeto en el heap,, el compilador no sabe el tiempo de vida del objeto. En C++, es tarea del programador determinar cuando debe destruirse un objeto, utilizando delete. Iván Bernal, Ph.D. 23 Iván Bernal, Ph.D. 24
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 detallesEscuela Politécnica Nacional email: imbernal@mailfie.epn.edu.ec. Copyright @2002, I. Bernal. Iván Bernal, Ph.D. 4
Programación Orientada a Objetos Clase # 6 Reutilización del código Jueves, 2 de Mayo de 2002 Iván Bernal, Ph.D. Escuela Politécnica Nacional email: imbernal@mailfie.epn.edu.ec Agenda Prueba de medio bimestre.
Más detallesIntroducció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 detallesProgramació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 detallesIntroducció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 detallesTema VII POO y lenguajes de programación no Orientados a Objetos (R-1.1)
Tema VII POO y lenguajes de programación no Orientados a Objetos (R-1.1) Programación en Entornos Interactivos. 14 de marzo de 2011 Dpto. Lenguajes y Sistemas Informáticos Universidad de Alicante 1 / 28
Más detallesUAA-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 detallesHERENCIA 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 detallesProgramación Orientada a Objetos
Programación Orientada a Objetos PROGRAMACIÓN ORIENTADA A OBJETOS 1 Sesión No. 4 Nombre: Herencia Contextualización Cuando hablamos de informática podemos contemplar varios elementos que se utilizan dentro
Más detallesPolimorfismo. Taller III 2007 Gentile,Vazquez
Polimorfismo Definición. Implementación del Polimorfismo. Polimorfismo en C++ - Ejemplo de Funciones Virtuales. Polimorfismo - funcionamiento Clases Abstractas Funciones virtuales puras. Ejemplos en C++.
Más detallesUniversidad 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 detallesFrancisco Javier Peña Escobar Universidad del Valle
Francisco Javier Peña Escobar Universidad del Valle franpena@univalle.edu.co Universidad del Valle - 2009 Relaciones entre clases Relaciones entre clases. Herencia. Constructores y destructores. Lista
Más detallesTema: 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 detallesEs un conjunto de palabras y símbolos que permiten al usuario generar comandos e instrucciones para que la computadora los ejecute.
Los problemas que se plantean en la vida diaria suelen ser resueltos mediante el uso de la capacidad intelectual y la habilidad manual del ser humano. La utilización de la computadora en la resolución
Más detallesHerencia en Java. Agustín J. González Diseño y Programación Orientados a Objetos
Herencia en Java Agustín J. González Diseño y Programación Orientados a Objetos 1 Introducción La idea básica es poder crear clases basadas en clases ya existentes. Cuando heredamos de una clase existente,
Más detalles2.2 Nombres, Ligado y Ámbito
2.2 Nombres, Ligado y Ámbito Ligado estático y dinámico, reglas de ámbito y prueba de tipos. Conceptos Nombres e Identificadores Variables Tipos Ámbito Constantes Nombres Identificador que designa en el
Más detallesTema: 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 detallesTema: 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 detallesUNIVERSIDAD DON BOSCO FACULTAD DE ESTUDIOS TECNOLÓGICOS ESCUELA DE COMPUTACION
UNIVERSIDAD DON BOSCO FACULTAD DE ESTUDIOS TECNOLÓGICOS ESCUELA DE COMPUTACION CICLO: 01/ 2013 Nombre de la Practica: Lugar de Ejecución: Tiempo Estimado: MATERIA: GUIA DE LABORATORIO #13 Programación
Más detallesTipos Recursivos de Datos
1/1 Tipos Recursivos de Datos Josefina Sierra Santibáñez 27 de noviembre de 2016 2/1 Introducción La recursividad no sólo se puede aplicar a la definición de procedimientos (i.e. funciones o acciones),
Más detallesUNIVERSIDAD DON BOSCO FACULTAD DE ESTUDIOS TECNOLÓGICOS ESCUELA DE COMPUTACION
UNIVERSIDAD DON BOSCO FACULTAD DE ESTUDIOS TECNOLÓGICOS ESCUELA DE COMPUTACION CICLO: 01/ 2012 Nombre de la Practica: Lugar de Ejecución: Tiempo Estimado: MATERIA: GUIA DE LABORATORIO #10 Programación
Más detallesManual de referencia de C++ Parte IV Variables Punteros. Preparado por Prof. Luis A. Ortiz Ortiz
Manual de referencia de C++ Parte IV Variables Punteros Preparado por Prof. Luis A. Ortiz Ortiz TABLA DE CONTENIDO Memoria de la computadora... 1 Representación de la memoria de la computadora... 1 Declaración
Más detallesLÓGICA DE PROGRAMACIÓN
LÓGICA DE PROGRAMACIÓN Lógica de la Programación Lenguajes de Programación Ing CIP. Mike Joseph Palacios Juárez Clasificación del Software Sistemas Operativos 1. Multitarea 2. Multiusuario 3. Multiproceso
Más detallesProgramació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 detallesHerencia y polimorfismo
Herencia y polimorfismo Programación Orientada a Objeto Ing. Civil en Telecomunicaciones Herencia Hemos visto cómo crear nuestras propias clases Clase InfoAlumno para calcular las notas Supongamos ahora
Más detallesTema 1. Herencia y Polimorfismo
ÍNDICE EDA. Unidad didáctica I: Conceptos de Java para Estructuras de Datos Tema 1. Herencia y Polimorfismo 1. Relaciones entre clases: Reutilización del software. 2. La Herencia como soporte Java del
Más detallesTema 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 detallesI. Introducción a la programación orientada a objetos y al lenguaje JAVA Colegio Reuven Feuerstein --Javier Navarro
I. Introducción a la programación orientada a objetos y al lenguaje JAVA Colegio Reuven Feuerstein --Javier Navarro Lectura de Datos Dentro de un applet es sencillo tomar algún dato del usuario para realizar
Más detallesHerencia y Polimorfismo en C++
Herencia y Polimorfismo en C++ Informática II Fundamentos de Programación 1 Herencia Concepto de "herencia" herencia": Una clase -clase derivada- puede definirse a partir de otra clase ya existente (clase
Más detallesMiguel López Morales Juan Carlos Ríos Legupín Daniel Ruiz Camacho Diego Sánchez Díaz
Miguel López Morales Juan Carlos Ríos Legupín Daniel Ruiz Camacho Diego Sánchez Díaz Índice Introducción a Ruby Ventajas y Desventajas de Ruby Tipos de DSL DSL en Ruby Instalación de Ruby Iniciación a
Más detallesPROCEDIMIENTOS ALMACENADOS
Modelado de Base de Datos PROCEDIMIENTOS ALMACENADOS Universidad Politecnica de los Llanos Procedimiento Almacenado Un Procedimiento almacenado es un Objeto de Base de Datos que puede encapsular logica
Más detallesTema: Funciones Virtuales y Polimorfismo.
POO104. Guía No. 10 1 Facultad: Ingeniería Escuela: Computación Asignatura: Programación Orientada a Objetos Tema: Funciones Virtuales y Polimorfismo. Materiales y Equipo Computadora con el software C
Más detallesPrincipios de Computadoras II
Departamento de Ingeniería Electrónica y Computadoras Ing. Ricardo Coppo rcoppo@uns.edu.ar Qué es un Objeto? Un objeto es una instancia de una clase Las clases actuán como modelos que permiten la creación
Más detallesTEMA 0 Gestión de Memoria Dinámica
TEMA 0 Gestión de Memoria Dinámica ESTRUCTURAS DE DATOS 1 Objetivos Tema preliminar para entender el uso de la herramienta básica en la gestión de memoria dinámica: punteros Objetivos: Conocer el concepto
Más detallesTema II: Metodología para la construcción de programas. Profesora: Nelly García Mora
Tema II: Metodología para la construcción de programas Profesora: Nelly García Mora 1. Metodologías de Programación Metodología de programación: es un conjunto o sistema de métodos, principios y reglas,
Más detallesTipo de Datos Abstractos y Programación Orientada a Objetos
Tipo de Datos Abstractos y Programación Orientada a Objetos DISEÑO Y PARADIGMAS DE LENGUAJES ING. EN INFORMÁTICA/ING. EN COMPUTACIÓN DEPARTAMENTO DE INFORMÁTICA UNIVERSIDAD NACIONAL DE SAN LUIS ARGENTINA
Más detallesTema 18: Memoria dinámica y su uso en C
Tema 18: Memoria dinámica y su uso en C M. en C. Edgardo Adrián Franco Martínez http://www.eafranco.com edfrancom@ipn.mx @edfrancom edgardoadrianfrancom Estructuras de datos (Prof. Edgardo A. Franco) 1
Más detallesCristian Blanco
UNIDAD DIDÁCTICA 8. ANÁLISIS Y DISEÑO ORIENTADO A OBJETOS. DIAGRAMAS DE COMPORTAMIENTO En el siguiente enlace tienes una descripción y algunos ejemplos de todos los diagramas UML.: http://jms32.eresmas.net/tacticos/uml/umlindex.html
Más detalles! 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 detallesPRÁCTICA FUNDAMENTOS DE ALGORITMOS I. Objetivos
Objetivos El alumno conocerá las estructuras básicas para el diseño de algoritmos 1. Conocerá las estructuras secuenciales y de decisión para construir algoritmos 2. Diseñará algoritmos utilizando las
Más detallesFACULTAD DE INGENIERÍA
NOMBRE DEL PROFESOR: Ing. Héctor Manuel Quej Cosgaya NOMBRE DE LA PRÁCTICA: Polimorfismo PRÁCTICA NÚM. [ 6 ] LABORATORIO: MATERIA: UNIDAD: TIEMPO: Centro de Ingeniería Computacional Lenguaje de Programación
Más detallesDefinición de clase: Una clase es un prototipo que define las variables y los métodos de todos los objetos con características comunes.
Clases y Objetos Java es un lenguaje orientado a objetos que incorpora un gran número de clases predefinidas organizadas en paquetes. La programación en Java supone definir clases de forma jerárquica,
Más detallesDefinición de clase: Una clase es un prototipo que define las variables y los métodos de todos los objetos con características comunes.
Clases y Objetos Java es un lenguaje orientado a objetos que incorpora un gran número de clases predefinidas organizadas en paquetes. La programación en Java supone definir clases de forma jerárquica,
Más detallesTutorial de C# Delegados y Eventos. Por: Óscar López, M.Sc.
Tutorial de C# Delegados y Eventos Por: Óscar López, M.Sc. olopez@uniandino.com.co DELEGADOS Delegados Son unos objetos que implícitamente extienden de System.Delegate y definen un tipo referencia soportado
Más detallesPolimorfismo. Métodos virtuales
Polimorfismo. Métodos virtuales El polimorfismo indica que una variable pasada o esperada puede adoptar múltiples formas. Cuando se habla de polimorfismo en programación orientada a objetos se suelen entender
Más detallesFormato para prácticas de laboratorio
Fecha de efectividad: 2011-1 UNIVERSIDAD AUTÓNOMA DE BAJA CALIFORNIA FACULTAD DE INGENIERÍA (UNIDAD MEXICALI) Formato para prácticas de laboratorio CARRERA PLAN DE ESTUDIO CLAVE DE UNIDAD DE APRENDIZAJE
Más detallesGuí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 detallesEsp. Alexis Olvany Torres ch. Datos de salida. Datos de salida. Datos de salida
Tiempo de Ejecución fuente Descripción abstracta del comportamiento de un programa Máquina abstracta objeto Descripción del comportamiento de un programa independiente de máquina pero fácil de implementar
Más detallesConteste las siguientes preguntas:
NOMBRE DE LA Ejercicios con interfaces OBJETIVO: El estudiante elaborará diagramas en UML y programas con interfaces MATERIAL Y EQUIPO NECESARIO: Papel y lápiz Se recomienda la utilización de software
Más detallesEdwin 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 detallesLas clases están compuestas por un conjunto de miembros. (datos y funciones) también se conocen como (atributos y métodos)
Clases y Objetos Las clases están compuestas por un conjunto de miembros (datos y funciones) también se conocen como (atributos y métodos) Una clase se usa como el modelo que deben seguir los objetos Un
Más detallesINFORMATICA TECNICATURA DE NIVEL SUPERIOR ALGUNOS EJERCICIOS DE SELECCIÓN E ITERACION
INFORMATICA TECNICATURA DE NIVEL SUPERIOR ALGUNOS EJERCICIOS DE SELECCIÓN E ITERACION DIIAGRAMAS DE FLUJO Un diagrama de flujo es un dibujo que utiliza símbolos estándar de diagramación de algoritmos para
Más detallesPROGRAMACION 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 detallesComputación Avanzada Clase 3. Mauricio Hidalgo Barrientos
Computación Avanzada Clase 3 Introducción a la Programación Orientada a Objetos (POO) Definición de Programación Orientada a Objetos Qué es la POO? Según Wikipedia: POO es un paradigma de programación
Más detallesUniversidad de Cantabria
Polimorfismo Pedro Corcuera Dpto. Matemática Aplicada y Ciencias de la Computación Universidad de Cantabria corcuerp@unican.es Objetivos Comprender el mecanismo del polimorfismo Aprender a utilizar el
Más detallesFormatos para prácticas de laboratorio
Fecha de efectividad: CARRERA Ing. En Mecatrónica PLAN DE ESTUDIO CLAVE ASIGNATURA NOMBRE DE LA ASIGNATURA 2009-2 11892 Programación Orientada a Objetos PRÁCTICA No. 4 LABORATORIO DE NOMBRE DE LA PRÁCTICA
Más detallesProgramació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 detallesPunteros y Memoria Dinámica II
Repaso Punteros y Memoria Dinámica II Curso INEM. Programación en C++ Santiago Muelas Pascual smuelas@fi.upm.es! Memoria! Qué necesita el compilador para acceder a una variable?! Punteros! Operadores &
Más detallesTema: Clases y Objetos en C#. Parte II.
Programación II. Guía No. 5 1 Facultad: Ingeniería Escuela: Computación Asignatura: Programación II Tema: Clases y Objetos en C#. Parte II. Objetivos Implementar clases, objetos, propiedades, métodos y
Más detallesPolimorfismo y Métodos Virtuales. Agustín J. González ELO329
Polimorfismo y Métodos Virtuales Agustín J. González ELO329 1 Jerarquía de clases Motor Consideremos la jerarquía de clases establecida en la sesión sobre Herencia: Motor ElectricMotor GasMotor 2 Clase
Más detallesPROGRAMA 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 detallesAccelerating Information Technology Innovation
Accelerating Information Technology Innovation http://aiti.mit.edu Cali, Colombia Verano 2012 Lección 1 Introducción a Java Agenda Qué es lo que hace Java especial? Ventajas y Desventajas de usar Java.
Más detallesCómo implementar tus propias funciones en Lenguaje C?
Cómo implementar tus propias funciones en Lenguaje C? por Iván Cruz Cuando se realiza un programa, es importante siempre manejar una buena organización del código fuente, debido a que se puede desear incrementar
Más detalles! 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 detallesProgramació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 detallesPor ejemplo, considerando la jerarquía de herencia de Figuras Geométricas de la siguiente figura, es posible hacer uso del concepto de polimorfismo.
POLIMORFISMO El polimorfismo es la característica de la programación orientada a objetos que permite modificar la instancia de un objeto en tiempo de ejecución basado en una jerarquía de herencia. De esta
Más detallesAcademia 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 detallesAlgoritmos y Programación Orientada a Objetos I. Contenedoras de tamaño variable y uso de ciclos en otros contextos
Algoritmos y Programación Orientada a Objetos I y uso de ciclos en otros contextos Agenda Motivación Uso de ciclos en otros contextos Agenda Motivación Uso de ciclos en otros contextos Motivación En muchos
Más detallesUnidad V Análisis Semántico. M.C. Juan Carlos Olivares Rojas
Unidad V Análisis Semántico M.C. Juan Carlos Olivares Rojas Agenda 5.1 Analizador semántico 5.2 Verificación de tipos en expresiones. 5.3 Conversión de tipos. 5.4 Acciones agregadas en un analizador sintáctico
Más detallesProgramació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 detallesOOP y C++ Indice. 0.1 Análisis orientado a objetos(1/4) Análisis orientado a objetos(2/4) 0.- OOP 1.- INTRODUCCIÓN.
OOP y C++ Un lenguaje para Programadores Carlos PLATERO Indice 0.- OOP 1.-. Objetivos, palabras clave, reglas prácticas, consejos 2.- CLASES Y OBJETOS. Extensión del concepto de estructura en C 3.- HERENCIA.
Más detalles10 -Herencia Y Polimorfismo. Programación Orientada a Objetos Proyecto Curricular de Ingeniería de Sistemas
10 -Herencia Y Polimorfismo Programación Orientada a Objetos Proyecto Curricular de Ingeniería de Sistemas Herencia Si se supone que somos buenos programando, cuando creemos una clase es posible que sea
Más detallesFundamentos de Programación
Fundamentos de Programación Extensión de clases: herencia y polimorfismo 13.12.2010 José A. Mañas Dpto. de Ingeniería de Sistemas Telemá@cos hcp://www.lab.dit.upm.es/~fprg/ extensión
Más detallesSistemas Operativos. Iván Bernal, Ph.D. 4. Escuela Politécnica Nacional I.
Sistemas Operativos Clase # 26 Administración de Memoria Martes, 22 de Octubre de 2002 Agenda Administración de Memoria: Paginación Iván Bernal, Ph.D. Escuela Politécnica Nacional email: imbernal@mailfie.epn.edu.ec
Más detallesTema 8 Gestión de la memoria en tiempo de ejecución.
Traductores, Compiladores e Intérpretes 1 Tema 8 Gestión de la memoria en tiempo de ejecución. S Organización de la memoria en tiempo de ejecución. Cuando un programa se ejecuta sobre un sistema operativo
Más detallesContenido. 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 detallesCapítulo 3. Subprogramas. 3.1 Subprogramas FUNCTION
Capítulo 3 Subprogramas Con lo explicado hasta aquí se pueden escribir programas sencillos y no demasiado largos. Pero varias razones justifican la necesidad de disponer de otro tipo de recursos. Por una
Más detallesSistemas Operativos. Curso 2017 Administración de memoria I
Sistemas Operativos Curso 2017 Administración de memoria I Agenda Introducción. Conceptos básicos. Preparación de un programa para ejecutar. Áreas de la memoria de un proceso. Asociación de direcciones.
Más detallesProgramació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 detallesUnidad Didáctica 5: Introducción a la Programación Orientada a Objetos
Unidad Didáctica 5: Introducción a la Programación Orientada a Objetos o Clases o Estructuras con funciones miembros. o Definición de una clase. o Constructores. o Tipos de constructores. o Sobrecarga
Más detallesTEMA 1. PROGRAMACIÓN DE UN COMPUTADOR
Tema 1. Programación de un computador TEMA 1. CIÓN DE UN COMPUTADOR 1. CONCEPTO DE 2. LENGUAJES DE CIÓN 2.1. LENGUAJE MÁQUINA 2.2. LENGUAJE ENSAMBLADOR 2.3. LENGUAJE DE ALTO NIVEL 3. ALGORITMOS. REPRESENTACIÓN
Más detallesEvolución del software y su situación actual
Evolución del software y su situación actual El software es el conjunto de programas que permite emplear la PC, es decir, es el medio de comunicación con la computadora, el control de sus funciones y su
Más detallesProgramación Orientada por Objetos. Prof. Yudith Cardinale Universidad Simón Bolívar Dpto de Computación y Tecnología de la Información
Programación Orientada por Objetos Prof. Yudith Cardinale Universidad Simón Bolívar Dpto de Computación y Tecnología de la Información Contenido Introducción Conceptos básicos de POO Clase Herencia Objeto
Más detallesGuías técnicas Grupo Danysoft: Creación de Componentes en Delphi (parte II)
Guías técnicas Grupo Danysoft: Creación de Componentes en Delphi (parte II) Por Pablo Reyes Grupo Danysoft mayo de 2001 - (902) 123146 www.danysoft.com Segunda parte Este artículo es el segundo de una
Más detallesProgramaciónDeclarativa
ProgramaciónDeclarativa 1. Introducción Programación estructurada Programación orientada a objetos Programación lógica Programación funcional Objetivos Establecer los fundamentos de la programación estructurada
Más detallesALGORITMICA Y PROGRAMACION POR OBJETOS I
ALGORITMICA Y PROGRAMACION POR OBJETOS I Nivel 1 Problemas, Soluciones y Programas Marcela Hernández Hoyos Solucionar un Problema = Construir un Programa Problema Programador Herramientas y Lenguajes Análisis
Más detalles2.1 METODOLOGÍA PARA LA SOLUCIÓN DE PROBLEMAS
2.1 METODOLOGÍA PARA LA SOLUCIÓN DE PROBLEMAS El proceso de resolución de un problema con una computadora conduce a la escritura de un programa y su ejecución en la misma. Aunque el proceso de diseñar
Más detallesUnidad V. Ya veremos qué poner en "algunas_palabras" y "algo_más", por ahora sigamos un poco más.
Implementación Orientada a Objetos. Unidad V 5.1 Estructura de una clase. Una clase consiste en: algunas_palabras class nombre_de_la_clase [algo_más] { [lista_de_atributos] [lista_de_métodos] Lo que está
Más detallesTemas. Taller III 2007 Gentile,Vazquez
Temas Arreglos de Objetos Punteros de Objetos Arreglos de Punteros de Objetos Constructor de Copia Herencia Constructores y Destructores en Herencia Accesibilidad en Herencia 1 Arreglo de objetos Televisor
Más detallesProgramación C++ (5 Parte) Dr. Oldemar Rodríguez Rojas Escuela de Informática Universidad Nacional
Programación C++ (5 Parte) Dr. Oldemar Rodríguez Rojas Escuela de Informática Universidad Nacional Polimorfismo, métodos virtuales y estáticos Todos los métodos vistos hasta ahora son estáticos, estos
Más detallesARQUITECTURA BÁSICA DEL ORDENADOR: Hardware y Software. IES Miguel de Cervantes de Sevilla
ARQUITECTURA BÁSICA DEL ORDENADOR: Hardware y Software. IES Miguel de Cervantes de Sevilla Índice de contenido 1.- Qué es un ordenador?...3 2.-Hardware básico de un ordenador:...3 3.-Software...4 3.1.-Software
Más detallesPara crear un arreglo de cualquier tipo de elementos la sintaxis es:
Arreglos (arrays) Un arreglo es una estructura de datos homogénea o conjunto de elementos del mismo tipo. En Java se pueden manejar arreglos de elementos de tipo primitivo (8 tipos primitivos hay en Java)
Más detallesALGORITMICA Y PROGRAMACION REPÚBLICA BOLIVARIANA DE VENEZUELA MINISTERIO DEL PODER POPULAR PARA LA EDUCACIÓN UNIDAD EDUCATIVA COLEGIO MICAELIANO
[Seleccione la fecha] LENGUAJE DE REPÚBLICA BOLIVARIANA DE VENEZUELA MINISTERIO DEL PODER POPULAR PARA LA EDUCACIÓN UNIDAD EDUCATIVA COLEGIO MICAELIANO MÉRIDA ESTADO MÉRIDA ALGORITMICA Y LENGUAJE DE INTEGRANTE:
Más detallesObjetos y memoria dinámica
Objetos memoria dinámica 1. Punteros a objetos 2. Vectores dinámicos de objetos 3. Uso de objetos dinámicos 4. Atributos dinámicos 5. Creación de objetos con atributos dinámicos 6. Destrucción de objetos
Más detallesCurso Programación Java JSE 7
Curso Programación Java JSE 7 Descripción: Nuestro curso Programación Java JSE 7 ofrece el curso de este nivel más completo, sin duda, en donde aprenderás la versión actual de Java, JSE 7, desde cero.
Más detallesProgramación Avanzada CONCEPTOS BÁSICOS DE IMPLEMENTACIÓN EN C++
Programación Avanzada CONCEPTOS BÁSICOS DE IMPLEMENTACIÓN EN C++ OBJETIVO En este documento se presentan las construcciones básicas de orientación a objetos del lenguaje de programación C++, y recomendaciones
Más detallesSiguiente >>>>> Radicación
Definición y áreas de interés Proyecto Salón Hogar POTENCIACIÓN Y RADICACIÓN La potenciación es el producto de varios factores iguales. Para abreviar la escritura, se escribe el factor que se repite y
Más detallesPROGRAMACIÓN DE COMPUTADORES II SEMANA 2 ESTE DOCUMENTO CONTIENE LA SEMANA 2
PROGRAMACIÓN DE COMPUTADORES II SEMANA 2 1 ÍNDICE PRESENTACIÓN DE UN LENGUAJE ORIENTADO A OBJETO... 3 1. PSEUDOCÓDIGO ORIENTADO A OBJETOS... 3 1.1 CLASE INICIO... 3 1.2 CLASE OBJETO... 4 1.3 EJEMPLOS DE
Más detallesUn diagrama de flujo es un dibujo que utiliza símbolos estándar de diagramación de algoritmos para computadora, en el que cada paso del algoritmo se
Definición de diagrama de flujo Un diagrama de flujo es un dibujo que utiliza símbolos estándar de diagramación de algoritmos para computadora, en el que cada paso del algoritmo se visualiza dentro del
Más detallesProgramació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