Tema: Funciones Virtuales y Polimorfismo.
|
|
- José Ramón Acosta Peralta
- hace 6 años
- Vistas:
Transcripción
1 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 sus tipos. Describir el concepto de polimorfismo Utilizar las funciones virtuales para aplicar el polimorfismo en C++. Definir funciones virtuales. Materiales y Equipo Computadora con el software DevC++. Guía Número 10. Introducción Teórica Ligadura. Representa una conexión entre una entidad y sus propiedades. Si la propiedad se limita a funciones, ligadura es la conexión entre la llamada a función y el código que se ejecuta tras la llamada. Desde el punto de vista de atributos, la ligadura es el proceso de asociar un atributo a un nombre. El momento en que un atributo o función se asocia con sus valores o funciones se denomina tiempo de ligadura. Clasificación de la ligadura. La ligadura se clasifica según sea el tiempo o momento de la ligadura en: a) Ligadura Estática: Se produce antes de la ejecución (durante la compilación). b) Ligadura Dinámica: ocurre durante el tiempo de ejecución.
2 2 Programación II, Guía 10 Funciones Virtuales. Una función virtual es una función miembro pública o protegida de una clase base que puede ser redefinida en cada una de las clases derivadas de esta, y una vez redefinida puede ser accedida mediante un puntero o referencia a la clase base. Esta se declara colocando la palabra clave virtual antes de la declaración de la función miembro perteneciente a la clase base, así: virtual <tipo de dato> <nombre de la función> (lista de parámetros); Polimorfismo. La utilización de clases derivadas y funciones virtuales es frecuentemente denominada programación orientada a objetos. Además, la facultad de llamar a una variedad de funciones utilizando exactamente el mismo medio de acceso, proporcionada por funciones virtuales, es a veces denominada polimorfismo. Polimorfismo significa la facultad de asumir muchas formas, refiriéndose a la facultad de llamar a muchas funciones diferentes con una sola sentencia. En un lenguaje orientado a objetos, el polimorfismo es la propiedad por la que un mensaje puede significar cosas diferentes dependiendo del objeto que lo recibe. La razón por la que el polimorfismo es útil se debe a que proporciona la capacidad de manipular instancias de clases derivadas a través de un conjunto de operaciones definidas en su clase base. Cada clase derivada puede implementar las operaciones definidas en la clase base. El polimorfismo adquiere su máxima potencia cuando se utiliza en unión con la herencia. Reglas para utilizar Polimorfismo. 1. Crear una jerarquía de clases con las operaciones importantes definidas por las funciones miembros declaradas como virtuales en la clase base. 2. Las implementaciones específicas de las funciones virtuales se deben hacer en las clases derivadas. Cada clase derivada puede tener su propia versión de las funciones. 3. Las instancias de las clases se manipulan a través de referencias o un puntero. Este mecanismo es la ligadura dinámica y es la esencia del uso polimórfico en C++. Clases Abstractas. Una clase abstracta es una clase que se define con el propósito de establecer bases conceptuales sobre las cuales se definirán otras clases, mismas que podrán ser clases concretas. Es decir, una clase abstracta no se usará directamente en la solución de un
3 Programación II. Guía 10 3 problema, sino que formará parte del diseño conceptual de la solución. Por lo tanto, en el programa no se crearán instancias (objetos) de las clases abstractas. Sin embargo, cabe destacar que las clases derivadas sí heredan sus miembros. En una clase abstracta pueden incluirse métodos virtuales que requieren ser especificados en las clases derivadas. Es decir, métodos a los que se les asignará el contenido en cada clase derivada. Estos métodos reciben el nombre de métodos virtuales puros y se inicializan con el valor de cero. Si las clases derivadas no los especifican, entonces se producirá un error. Procedimiento Ejemplo 1 Funciones Virtuales. El siguiente ejemplo utiliza una clase llamada Figuras como Clase base y se implementan dos clases derivadas Rectángulo y Triangulo, como se muestra en la siguiente jerarquía de herencia: Figuras Triángulo Rectángulo #include <iostream> using namespace std; class Figuras { protected: char identificar[25]; float area; ; public: // Definiendo las funciones virtuales en la clase base virtual void Calcular_Area(); virtual void Dibujar_Figura(); virtual void Identificar(); // Cuando se definen las funciones no es necesario utilizar virtual void Figuras :: Calcular_Area( ) { void Figuras :: Dibujar_Figura( ) { cout << "No hay dibujo disponible..." << endl;
4 4 Programación II, Guía 10 void Figuras :: Identificar( ) { cout << endl << "Nombre Figura: " << identificar << endl; cout << "El Area es: " << area << endl; class Rectangulo : public Figuras { protected: float base; float altura; // Definición de la clase derivada Rectángulo ; public: Rectangulo(float b, float a); void Calcular_Area(); void Dibujar_Figura(); void Identificar(); Rectangulo :: Rectangulo(float b, float a) { base = b; altura = a; strcpy(identificar,"rectangulo"); void Rectangulo :: Calcular_Area( ) { area = (base * altura); void Rectangulo :: Dibujar_Figura( ) { cout << endl; cout << "********** " << endl; cout << "* * " << endl; cout << "* * altura = " << altura << endl; cout << "* * " << endl; cout << "********** " << endl; cout << " Base = " << base << endl; void Rectangulo :: Identificar( ) { Figuras::Identificar(); cout << endl << "Sus datos son: " << endl; class Triangulo : public Figuras { protected: float base; float altura; // Definición de la clase derivada Triángulo ; public: Triangulo(float b, float a); void Calcular_Area(); void Dibujar_Figura(); void Identificar();
5 Programación II. Guía 10 5 Triangulo :: Triangulo(float b, float a) { base = b; altura = a; strcpy(identificar,"triangulo"); void Triangulo :: Calcular_Area( ) { area = ((base * altura) / 2); void Triangulo :: Dibujar_Figura( ) { cout << " ** " << endl; cout << " * * " << endl; cout << " * * " << endl; cout << " * * altura = " << altura << endl; cout << "* * " << endl; cout << "********** " << endl; cout << " Base = " << base << endl; Ejemplo void Triangulo 2: :: Identificar( ) { Figuras::Identificar(); Se muestra un ejemplo de Herencia Múltiple. Se realiza la implementación de la jerarquía cout << endl << "Sus datos son: " << endl << endl; de clases mostrada en la siguiente figura: int main() { Rectangulo Rec(10,10); Triangulo Tri(5,5); Rombo Rom(7,3); // Implementando objeto de la clase rectángulo Rec.Calcular_Area(); Rec.Identificar(); Rec.Dibujar_Figura(); //Implementando objeto de la clase Triangulo Tri.Calcular_Area(); Tri.Identificar(); Tri.Dibujar_Figura(); system("pause > nul"); return 0; Ejemplo 2 Polimorfismo. La forma más adecuada de usar el polimorfismo es a través de punteros, el siguiente ejemplo utiliza un arreglo de objetos para poder definir el concepto. Utilizaremos el ejemplo No. 1. Modificar la función main del programa anterior por el siguiente código:
6 6 Programación II, Guía 10 int main() { Figuras * arreglobj[5]; // Se crea un arreglo de objetos de la clase Figuras // Ahora se crearan 5 objetos para luego ser utilizados por el arreglo de objetos Rectangulo Rec1(15,15); Rectangulo Rec2(20,20); Triangulo Tri1(3,5); Triangulo Tri2(2,6); Triangulo Tri3(5,5); /* Cada objeto definido anteriormente será un elemento del arreglo donde cada elemento es un puntero a un objeto Figuras, aquí se utiliza el concepto de polimorfismo. Se hace referencia a cada objeto creado */ arreglobj[0] = &Rec1; arreglobj[1] = &Rec2; arreglobj[2] = &Tri1; arreglobj[3] = &Tri2; arreglobj[4] = &Tri3; // Se calcularán las áreas, se identificará cada objeto y se visualizará su información for(int i = 0; i < 5; i++) { arreglobj[i] -> Calcular_Area( ); arreglobj[i] -> Identificar( ); arreglobj[i] -> Dibujar_Figura( ); cout << " "<<endl; system("pause"); cout << endl << " FIN DE LA DEMOSTRACION " << endl; system("pause > nul"); return 0; Nota: Un puntero a un objeto de la clase base puede ser utilizado para direccionar un objeto de cualquiera de sus clases derivadas, lo cual permitirá invocar automáticamente a través de este puntero a una función declarada virtual correspondiente a la clase del objeto apuntado. Análisis de Resultados Ejercicio 1: Agregar una nueva derivación de Figuras con la clase Rombo, las propiedades que tendrá el rombo son diagonal mayor y diagonal menor, el área del rombo es:
7 Programación II. Guía 10 7 Área Rombo = (Diagonal Mayor * Diagonal Menor) / 2 Realice las modificaciones necesarias al ejemplo No. 1, de tal manera que se construya una solución para la jerarquía de clases mostrada en la siguiente figura: Figuras Triángulo Rectángulo Rombo Ejercicio 2: Considere la siguiente jerarquía de herencias: Biblioteca Libros Revistas Artículos Definir las clases. Considerar todas las propiedades y funciones necesarias para una implementación completa haciendo uso de funciones virtuales y polimorfismo. Decidir que atributos y métodos incluir en cada clase de tal manera que su programa pueda a través de un menú realizar las siguientes acciones: a) Crear objetos de cualquier tipo, solicitando los datos al usuario. b) Visualizar un objeto en particular, con todos sus atributos. c) Salir de la aplicación. Ser creativos con la solución, es decir, agregar más opciones al menú. El menú deberá estar siempre activo, en la misma posición en pantalla, hasta que el usuario seleccione la opción salir. El programa debe estar debidamente comentado. Investigación Complementaria Considere la siguiente jerarquía de herencias:
8 8 Programación II, Guía 10 Figura Triangulo Rectángulo Equilátero TRectángulo Cuadrado A continuación se muestra la declaración de la Clase Figura #include <iostream> using namespace std; class Figura { public: Figura ( ) { ; // Constructor por defecto virtual float CalcularArea( ) = 0; virtual float CalcularPerimetro( ) = 0; ; La clase Figura se usará como clase base para declarar las clases derivadas: Triangulo, Rectangulo y Cuadrado. La clase base es una clase abstracta. Diseñar una implementación que simule la jerarquía mostrada. Considerar los atributos y métodos necesarios en cada clase de tal manera que su programa pueda a través de un menú realizar las siguientes acciones: a) Crear objetos de cualquier tipo, solicitando los datos al usuario. b) Calcular el área de cualquier objeto seleccionado por el usuario. c) Calcular el perímetro de cualquier objeto seleccionado por el usuario. d) Salir de la aplicación. El menú deberá estar siempre activo, en la misma posición en pantalla, hasta que el usuario seleccione la opción salir. El programa debe estar debidamente comentado.
9 Programación II. Guía 10 9 Guía 10: Funciones Virtuales y Polimorfismo. Hoja de cotejo: 10 Alumno: Máquina No: Docente: GL: Fecha: EVALUACIÓN % Nota CONOCIMIENTO Del 20 al 30% Conocimiento deficiente de los fundamentos teóricos Conocimiento y explicación incompleta de los fundamentos teóricos Conocimiento completo y explicación clara de los fundamentos teóricos APLICACIÓN DEL CONOCIMIENTO Del 40% al 60% ACTITUD Del 15% al 30% No tiene actitud proactiva. Actitud propositiva y con propuestas no aplicables al contenido de la guía. Tiene actitud proactiva y sus propuestas son concretas. TOTAL 100%
Tema: Punteros a Objetos. Puntero this.
Programación II. Guía 6 1 Facultad: Ingeniería Escuela: Computación Asignatura: Programación II Tema: Punteros a Objetos. Puntero this. Objetivos Manejar objetos por medio de punteros. Utilizar el puntero
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 detallesJava Avanzado Facultad de Ingeniería. Escuela de computación.
2 Java Avanzado Facultad de Ingeniería. Escuela de computación. Java Avanzado. Guía 5 3 Introducción Este manual ha sido elaborado para orientar al estudiante de Java Avanzado en el desarrollo de sus prácticas
Más detallesTema: Clases y Objetos en C++.
1 Facultad: Ingeniería Escuela: Computación Asignatura: Programación II Tema: Clases y Objetos en C++. Objetivos Específicos Aplicar clases, objetos, propiedades, métodos y mensajes. Poner en práctica
Más detallesTema: Tipos Abstractos de Datos (TAD s) en C++.
Programación II. Guía 12 1 Facultad: Ingeniería Escuela: Computación Asignatura: Programación II Tema: Tipos Abstractos de Datos (TAD s) en C++. Objetivos Específicos Explicar el concepto "Tipo Abstracto
Más detallesTema: Herramientas UML, Análisis y diseño UML
Programación II. Guía 2 1 Facultad: Ingeniería Escuela: Computación Asignatura: Programación II Tema: Herramientas UML, Análisis y diseño UML Objetivo Conocer una herramienta de modelado para la solución
Más detallesTema: Herramientas UML, Análisis y diseño UML
Programación II. Guía No.3 1 Facultad: Ingeniería Escuela: Computación Asignatura: Programación II Tema: Herramientas UML, Análisis y diseño UML Objetivos Conocer una herramienta de modelado para la solución
Más detallesTema: Arreglos de Objetos en C++.
Programación II. Guía 5 1 Facultad: Ingeniería Escuela: Computación Asignatura: Programación II Tema: Arreglos de Objetos en C++. Objetivos Específicos Describir la implementación de arreglos de Objetos.
Más detallesGUIA 2: Repaso sobre uso de C#. Funciones, métodos y arreglos.
1 Programación II, Guía 2 1 Facultad: Ingeniería Escuela: Computación Asignatura: Programación II GUIA 2: Repaso sobre uso de C#. Funciones, métodos y arreglos. Objetivos Utilizar la sintaxis de las funciones
Más detallesClases en C++ Universidad de Carabobo Facultad Experimental de Ciencias y Tecnología Algoritmos y Programación II. Enero de 2005
Clases en C++ Universidad de Carabobo Facultad Experimental de Ciencias y Tecnología Algoritmos y Programación II Enero de 200 1. Definición de Clases Cada clase contiene: datos (datos miembro o campos),
Más detallesTema: Repaso sobre uso de Funciones, Arreglos y Punteros en C++.
Programación II. Guía No. 1 1 Facultad: Ingeniería Escuela: Computación Asignatura: Programación II Tema: Repaso sobre uso de Funciones, Arreglos y Punteros en C++. Objetivos. Utilizar la sintaxis de las
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 detallesTema: Autómatas de Estado Finitos
Compiladores. Guía 2 1 Facultad: Ingeniería Escuela: Computación Asignatura: Compiladores Tema: Autómatas de Estado Finitos Contenido En esta guía se aborda la aplicación de los autómatas en el campo de
Más detallesTema: Herencia Simple y Múltiple en C++.
Programación II. Guía 9 1 Facultad: Ingeniería Escuela: Computación Asignatura: Programación II Tema: Herencia Simple y Múltiple en C++. Objetivos Específicos Crear clases a través de la herencia de clases
Más detallesINTRODUCCIÓN AL PARADIGMA DE LA PROGRAMACIÓN ORIENTADA A OBJETOS CON JAVA
Objetivo: Identificar los concentos principales en java POO, que es una clase, un objeto así como sus características principales abstracción, modularidad, encapsulamiento, herencia, polimorfismo. INTRODUCCIÓN
Más detallesFundamentos Programación Orientada a Objetos ( POO ) - Parte I Desarrollo de Software
República Bolivariana de Venezuela Ministerio de Educación Superior Fundación Misión Sucre Aldea Fray Pedro de Agreda Fundamentos Programación Orientada a Objetos ( POO ) - Parte I 1 Contenido Qué es
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 detallesPROGRAMACIÓN EN C#.NET Programación Orientada a Objetos en C# Ing. Bruno López Takeyas
PROGRAMACIÓN EN C#.NET Programación Orientada a Objetos en C# Ing. Bruno López Takeyas Instituto Tecnológico de Nuevo Laredo 1 Qué es UML? UML = Unified Modeling Language Un lenguaje de propósito general
Más detallesTema: Clases y Objetos en C++. Parte II.
Programación II. Guía 4 1 Facultad: Ingeniería Escuela: Computación Asignatura: Programación II Tema: Clases y Objetos en C++. Parte II. Objetivos Específico Implementar clases, objetos, propiedades, métodos
Más detallesTema: Sobrecarga de Operadores.
Programación II. Guía 7 1 Facultad: Ingeniería Escuela: Computación Asignatura: Programación II Tema: Sobrecarga de Operadores. Objetivos Describir como redefinir (sobrecargar) operadores para que funcionen
Más detallesTest : Conteste exclusivamente en una HOJA DE LECTURA ÓPTICA, no olvidando marcar que su tipo de examen es A.
SISTEMAS INFORMÁTICOS I Junio 2003 INGENIERÍA EN INFORMÁTICA - Código Carrera 55 - Código Asignatura 077 Tipo de Examen: A NO SE PERMITE EL USO DE NINGÚN MATERIAL Tiempo: 2 horas Apellidos: Nombre: DNI:
Más detallesTema: Tabla de Símbolos
Compiladores. Guía 6 1 Facultad: Ingeniería Escuela: Computación Asignatura: Compiladores Tema: Tabla de Símbolos Contenido En esta guía se desarrollará una tabla de símbolos y se asociará al analizador
Más detallesLos constructores son funciones miembro especiales que sirven para inicializar un objeto de una determinada clase al mismo tiempo que se declara.
Constructores Los constructores son funciones miembro especiales que sirven para inicializar un objeto de una determinada clase al mismo tiempo que se declara. Los constructores tienen el mismo nombre
Más detallesAPUNTES PROII 2º PARCIAL.
APUNTES PROII 2º PARCIAL. MEMORIA DINÁMICA. Hay que distinguir entre: Estática: memoria que se reserva en tiempo de compilación. Dinámica: memoria que se reserva en tiempo de ejecución. 5 pasos: 1. Declaración
Más detalles4. POLIMORFISMO. Figura 6: Funciones virtuales
página 1 4. POLIMORFISMO Polimorfismo, por definición, es la capacidad de adoptar formas distintas. En el ámbito de la Programación Orientada a Objetos se entiende por polimorfismo la capacidad de llamar
Más detallesProgramació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 detallesUNIVERSIDAD DE LOS ANDES NUCLEO UNIVERSITARIO RAFAEL RANGEL (NURR) DEPARTAMENTO DE FISICA Y MATEMATICA AREA COMPUTACION TRUJILLO EDO.
UNIVERSIDAD DE LOS ANDES NUCLEO UNIVERSITARIO RAFAEL RANGEL (NURR) DEPARTAMENTO DE FISICA Y MATEMATICA AREA COMPUTACION TRUJILLO EDO. TRUJILLO 1.- Resumen de Prog1 Comentarios es C++ Declaraciones de variables.
Más detallesTema: Funciones, Procedimientos y Recursividad en C#.
Tema: Funciones, Procedimientos y Recursividad en C#. Objetivos Programación I, Guía 6 1 Utilizar la sintaxis de las funciones definidas por el usuario (programador) para resolver problemas. Identificar
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 detallesImpresión por pantalla. 3. Indicar la salida por pantalla (2 puntos-20 minutos)
3. Indicar la salida por pantalla (2 puntos-20 minutos) #include class EUITIelemento; class EUITIpila int num; EUITIelemento *pila[10]; EUITIpila():num(0); bool push(euitielemento *in) if(num>=10)return
Más detallesTema: Patrones de Diseño.
Programación II. Guía 13 1 Facultad: Ingeniería Escuela: Computación Asignatura: Programación II Tema: Patrones de Diseño. Objetivos Específicos Implementar la aplicación de patrones de diseño como herramientas
Más detallesTaller #1 (versión del 18 de septiembre de 2009) Programación básica y aproximación al paradigma orientado a objetos
Universidad del Valle Facultad de Ingeniería Escuela de Ingeniería de Sistemas y Computación Introducción a la Programación Orientada a Objetos (750081M) Taller #1 (versión del 18 de septiembre de 2009)
Más detallesLENGUAJE DE PROGRAMACION I. Ing. JAVIER ECHEGARAY ROJO Ing. WILDER ROMAN MUNIVE. Ing. Javier Echegaray Rojo / Ing. Wilder Román Munive Pag 1
Ing. JAVIER ECHEGARAY ROJO Ing. WILDER ROMAN MUNIVE Ing. Javier Echegaray Rojo / Ing. Wilder Román Munive Pag 1 CAPITULO 3. ENTRADA Y SALIDA BÁSICA Usando la librería estandar de entrada y salida, seremos
Más detallesProgramación orientada a objetos. Capítulo 8 Mejora de las estructuras mediante herencia
Programación orientada a objetos Capítulo 8 Mejora de las estructuras mediante herencia Clases y objetos de DoME Modelo de objetos Modelo de clases Crítica de la v1 de DoME - Duplicación de código - Las
Más detallesDescripción y Contenido del Curso. Programación C++ Capacity Academy.
Descripción y Contenido del Curso Programación C++ Capacity Academy Educación en Tecnología de la Información Online, Efectiva y Garantizada Qué aprenderá si toma este Curso? En este curso aprenderás todo
Más detallesProgramación Orientada a Objetos en C#.NET CAPÍTULO 8 DELEGADOS. Ing. Bruno López Takeyas, M.C.
CAPÍTULO 8 DELEGADOS 2 http://www.itnuevolaredo.edu.mx/takeyas 1 Preguntas detonadoras Qué es un delegado? Para qué sirve? En qué circunstancias se recomienda implementar delegados? Qué es un método anónimo?
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: 02/ 2012 Nombre de la Practica: Lugar de Ejecución: Tiempo Estimado: MATERIA: GUIA DE LABORATORIO #08 Uso de Arreglos
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 detallesCONTENIDOS. 1. Completar el ejemplo de Herencia: Superclase Persona-Subclase Alumno
CONTENIDOS 1. Completar el ejemplo de Herencia: Superclase Persona-Subclase Alumno 2. Redefinición de métodos. 3. Jerarquía de clases. 4. Ejecución de los pasos de mensajes con Herencia. 5. Problemas con
Más detallesTema: Análisis Sintáctico
Compiladores. Guía 3 1 Facultad: Ingeniería Escuela: Computación Asignatura: Compiladores Tema: Análisis Sintáctico Contenido En esta guía se abordarán los conceptos pertenecientes al componente de análisis
Más detallesProcesos de Fabricación I. Guía 1 1 SISTEMAS HIDRÁULICOS Y NEUMÁTICOS.
Procesos de Fabricación I. Guía 1 1 SISTEMAS HIDRÁULICOS Y NEUMÁTICOS. Sistemas Hidráulicos y Neumáticos. Guía 5 1 Tema: Visualización de elementos y manejo de Software FluidSim Pneumatic Contenidos Simbología
Más detallesEn el siguiente ejemplo se declara un registro y luego variables de ese tipo de registro:
LABORATORIO #6 (Parte I y II) REGISTROS Y ARCHIVOS Parte I: Registros Un registro es una estructura de datos formado por un conjunto de elementos llamados campos, no necesariamente del mismo tipo y que
Más detallesFACULTAD DE ECONOMIA Y ADMINISTRACION DEPARTAMENTO DE CIENCIAS DE LA COMPUTACION CÁTEDRA PROGRAMACION GENERAL. Trabajo Práctico Nº 4
Trabajo Práctico Nº 4 Ejercicios Teóricos 1. Indique si las siguientes afirmaciones son verdaderas o falsas a. La programación orientada a objetos hace uso de clases y envío de mensajes entre objetos..
Más detallesTema: Introducción al IDE de Microsoft Visual C#.
Tema: Introducción al IDE de Microsoft Visual C#. Objetivos: El propósito de este tema es que el alumno se familiarice con el entorno de desarrollo de Visual C# Express mientras crea el formulario más
Más detallesLenguaje de Programación
UG C++ C++ Universidad de Guanajuato Sesión 33 Una estructura es un grupo de variables las cuales pueden ser de diferentes tipos sostenidas o mantenidas juntas en una sola unidad. La unidad es la estructura.
Más detallesJava Avanzado. Guía 1. Java Avanzado Facultad de Ingeniería. Escuela de computación.
Java Avanzado. Guía 1 Java Avanzado Facultad de Ingeniería. Escuela de computación. Java Avanzado. Guía 2 Introducción Este manual ha sido elaborado para orientar al estudiante de Java Avanzado en el desarrollo
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: Algoritmos para la ruta más corta en un Grafo.
Programación IV. Guía 10 1 Facultad: Ingeniería Escuela: Computación Asignatura: Programación IV Tema: Algoritmos para la ruta más corta en un Grafo. Objetivos Específicos Definir el concepto de camino
Más detallesTema 7. El sistema de clases
Programación Declarativa Haskell Informática Sistemas Curso 2003-2004 Pepe Gallardo Universidad de Málaga Tema 7. El sistema de clases 7.1 Funciones Sobrecargadas Clases e Instancias 7.2 Algunas Clases
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 detallesTema: FUNCIONES, PROCEDIMIENTOS Y RECURSIVIDAD.
Programación I, Guía 6 1 Facultad : Ingeniería Escuela : Computación Asignatura: Programación I Tema: FUNCIONES, PROCEDIMIENTOS Y RECURSIVIDAD. Objetivos Utilizar la sintaxis de las funciones definidas
Más detallesCONTENIDO. Programación orientada a objetos - POO. Clases. Constructores y destructores. Definiciones. Entrada y salida
INFORMÁTICA II 1 CONTENIDO 2 1 Programación orientada a objetos - POO 2 Clases 3 Constructores y destructores 4 Definiciones 5 Entrada y salida PROGRAMACIÓN ORIENTADA A OBJETOS Los lenguajes de programación
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 detallesTEMA 8: Gestión dinámica de memoria
TEMA 8: Gestión dinámica de memoria 8.1.-Tipo de datos puntero Hasta ahora, los tipos de datos que hemos visto (a excepción de strings y ficheros) eran estructuras de datos estáticas, es decir, estructuras
Más detallesTema: Configuración de red AD-HOC
Tema: Configuración de red AD-HOC Contenidos Configuración del servidor AD-HOC. Conexión de una segunda computadora a la red AD-HOC. Compartiendo la conexión a Internet. Objetivo Redes de datos inalámbricas.
Más detallesDerechos de Acceso: COMPOSICION
CLASES Una clase es un tipo definido por el usuario que describe los atributos y los métodos de los objetos que se crearan a partir de la misma. class nombre_clase cuerpo de la clase Derechos de Acceso:
Más detallesElabore el diagrama de clases en UML y la codificación de un programa para resolver los siguientes problemas:
NOMBRE DE LA Ejercicios aplicando polimorfismo OBJETIVO: El estudiante elaborará diagramas de clases en UML que apliquen relaciones de herencia y polimorfismo MATERIAL Y EQUIPO NECESARIO: Se recomienda
Más detallesUniversidad Salesiana de Bolivia
Universidad Salesiana de Bolivia Ingeniería de Sistemas I DATOS DE IDENTIFICACIÓN PLAN DE DISCIPLINA GESTIÓN II - 2015 INSTITUCIÓN UNIVERSITARIA: Universidad Salesiana de Bolivia RECTOR: Dr. Rvdo. P. Thelian
Más detallesEscuela Politécnica Superior de Elche
EXAMEN DE SISTEMAS INFORMÁTICOS INDUSTRIALES ((SOLUCIÓN) (TEORÍA)jUJ jhshshs SEPTIEMBRE 2015 1. Indicar si las siguientes afirmaciones son verdaderas o falsas: (a) En C++, una clase derivada puede acceder
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 detallesTema 13: Apuntadores en C
Tema 13: Apuntadores 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 Contenido Introducción
Más detallesTema: Repaso sobre el uso del IDE de Microsoft Visual C#.
Programación IV. Guía No. 2 1 Facultad: Ingeniería Escuela: Computación Asignatura: Programación IV Tema: Repaso sobre el uso del IDE de Microsoft Visual C#. Objetivos Específicos Identificar los principales
Más detallesProgramació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 detallesPrueba N o 1. Programación II
UNIVERSIDAD ANDRÉS BELLO 1 Prueba N o 1 Programación II Profesores: José Luis Allende y Carlos Beyzaga. Fecha: 10 de Septiembre de 2013 Nombre: Nota: Instrucciones: Coloque su nombre a todas las hojas.
Más detallesTema: Autómata de Pila
Facultad: Ingeniería Escuela: Computación Asignatura: Compiladores 1 Tema: Autómata de Pila Contenido La presente guía aborda los autómatas de pila, y se enfoca en la aplicación que se le puede dar a estas
Más detallesCURSO 2º GRUPO Junio 2011
APELLIDOS NOMBRE Nº Mat. UNIVERSIDAD POLITÉCNICA DE MADRID ESCUELA UNIVERSITARIA DE INGENIERÍA TÉCNICA INDUSTRIAL Departamento El.A.I. ASIGNATURA INFORMÁTICA INDUSTRIAL Calificación CURSO 2º GRUPO Junio
Más detallesPRÁCTICA DE LABORATORIO 4 Programación Orientada a Objetos
ESCUELA DE INGENIERÍA DE SISTEMAS DEPARTAMENTO DE COMPUTACIÓN PROGRAMACIÓN 2 PRÁCTICA DE LABORATORIO 4 Programación Orientada a Objetos Contenido Introducción...1 Objeto...2 Atributo...2 Métodos...2 Clase...3
Más detallesLa última versión disponible cuando se redactó este manual era la 5 Beta (versión ), y sobre ella versa este manual.
Manual de Dev-C++ 4.9.9.2 Página 1 de 11 Introducción Dev-C++ es un IDE (entorno de desarrollo integrado) que facilita herramientas para la creación y depuración de programas en C y en C++. Además, la
Más detallesConceptos a tratar. Fundamentos de la Programación Orientada a Objetos Ampliación sobre clases y objetos
Fundamentos de la Programación Orientada a Objetos Ampliación sobre clases y objetos Programación Orientada a Objetos Facultad de Informática Dep. Ingeniería del Software e Inteligencia Artificial Universidad
Más detallesNecesidad de la herencia pertenencia variedad is a has a herencia variedad definir una clase modificando una o más clases añadir nuevos miembros
Necesidad de la herencia La mente humana clasifica los conceptos de acuerdo a dos dimensiones: pertenencia y variedad. Se puede decir que el Ford Fiesta es un tipo de coche (variedad o, en inglés, una
Más detallesEn este artículo vamos a conocer los tipos de datos que podemos manejar programando en C.
El primer objetivo de un programa informático es el manejo de datos. Un dato es toda aquella información que se puede tratar en un programa informático. En este artículo vamos a conocer los tipos de datos
Más detallesLa Herencia: Teoría (1)
Introducción a la Herencia Presentación basada en: 1. Construcción de Software Orientado a Objetos. Bertrand Meyer.1998. 2. Java 2., Curso de programación. Fco. Javier Ceballos. Ed. Alfoomega&RA-MA, 2003.
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 detallesProblema - Sumando Digitos
Primera Olimpiada de Informática Problema - Sumando Digitos Comenzando con un entero entre 00 y 99 inclusive, escritos como dos dígitos (use un cero a la izquierda en caso de que el numero sea menor que
Más detallesFunciones y Clases Amigas en C++ Dr. Oldemar Rodríguez Rojas Escuela de Informática Universidad de Nacional
Funciones y Clases Amigas en C++ Dr. Oldemar Rodríguez Rojas Escuela de Informática Universidad de Nacional INTRODUCCIÓN A LAS FUNCIONES AMIGAS Habrá momentos en los que se quiera que una función tenga
Más detallesESCUELA DE INGENIERÍA DE SISTEMAS DEPARTAMENTO DE COMPUTACIÓN PROGRAMACIÓN 2 PRÁCTICA DE LABORATORIO 7 Herencia y Composición en POO
ESCUELA DE INGENIERÍA DE SISTEMAS DEPARTAMENTO DE COMPUTACIÓN PROGRAMACIÓN 2 PRÁCTICA DE LABORATORIO 7 Herencia y Composición en POO Contenido Introducción... 1 Concepto de la Herencia... 2 Relación de
Más detallesPRACTICA 9 INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS (PARTE II) Objetivos
Objetivos El alumno conocerá y aplicará el concepto de programación orientada a objetos para la realización de programas que resuelvan problemas de tipo numérico. Al final de esta práctica el alumno podrá:
Más detallesObjeto Clase Atributo / Método Encapsulamiento Mensaje Herencia Polimorfismo Encadenamiento Dinámico
Conceptos Objeto Clase Atributo / Método Encapsulamiento Mensaje Herencia Polimorfismo Encadenamiento Dinámico Objeto Representa una instancia de un elemento del mundo del problema Es cualquier elemento
Más detallesDII. 1. (5 Puntos) Dada la clase Punto con la siguiente interfaz ya implementada
DII Asignatura: LS1158 Metodología y Técnicas de la Programación II Cuatrimestre: 2º Examen: Final Convocatoria: Ordinaria Grupo: 1T2-1T3 Curso: 2004/05 Fecha: 31/V/05 1. (5 Puntos) Dada la clase Punto
Más detallesIntroducción a clases en C++
Introducción a clases en C++ Pablo Brusco Disclaimer: Este apunte no es autocontenido y fue pensado como un repaso de los conceptos, no para aprenderlos de aquí directamente. Los aportes básicos fueron
Más detallesApuntadores en C y C++
Apuntadores en C y C++ Universidad de Carabobo Facultad Experimental de Ciencias y Tecnología Prof. Marcos A. Gil T. 8 de diciembre de 2004 1. Introducción Los apuntadores en C y C++ son una herramienta
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 detallesTALLER FINAL DE ALGORITMO Y PROGRAMACIÓN ORIENTADA A OBJETOS I (POOI) PRESENTADO POR ENDRIS JUDITH CABALLERO CARO KEYLA JAKELINE JIMENEZ CUADROS
TALLER FINAL DE ALGORITMO Y PROGRAMACIÓN ORIENTADA A OBJETOS I (POOI) PRESENTADO POR ENDRIS JUDITH CABALLERO CARO KEYLA JAKELINE JIMENEZ CUADROS VANESSA LILIANA JULIO MOSCOTE UNIVERSIDAD DE LA GUAJIRA
Más detalles3. Indicar la salida por pantalla (2 puntos-15 minutos)
3. Indicar la salida por pantalla (2 puntos-15 minutos) #include class Tiempo Tiempo ():hora(0), minuto(0) cout
Más detallesImpresión por pantalla
3. Indicar la salida por pantalla (2 puntos-20 minutos) #include template void Funcion_B(S& a, S& b); template void Funcion_A (T *vector, int num); void main(void) float
Más detallesProgramación I. Carrera: IFM Participantes. Representantes de la academia de sistemas y computación de los Institutos Tecnológicos.
1.- DATOS DE LA ASIGNATURA Nombre de la asignatura: Carrera: Clave de la asignatura: Horas teoría-horas práctica-créditos Programación I Licenciatura en Informática IFM - 0430 3-2-8 2.- HISTORIA DEL PROGRAMA
Más detallesDesarrollo de Programas. Prof. Lisbeth C. Pérez Rivas
Desarrollo de Programas Prof. Lisbeth C. Pérez Rivas lisbethpe@ula.ve Desarrollo de Programas Ejercicio: Calcular el sueldo neto de un trabajador conociendo el número de horas trabajadas, la tarifa horaria
Más detallesCapítulo 6. Introducción a la POO
Capítulo 6. Introducción a la POO 6. 1. Clases, Objetos y Métodos Definición La Programación Orientada a Objetos (POO) es una forma especial de programar, más cercana a cómo expresaríamos las cosas en
Más detallesIntroducción al laboratorio de Programación I
Introducción al laboratorio de Programación I Manuel Montenegro montenegro@fdi.ucm.es es Despacho B12 Compilación Es el proceso de transformación de un programa escrito en un lenguaje de alto nivel (en
Más detallesIntroducción a C++ y Code::Blocks
Introducción a C++ y Práctica Imperativo Clase 1 Luis Agustín Nieto Departamento de Computación, FCEyN,Universidad de Buenos Aires. 28 de mayo de 2010 Menu de esta Tarde Funcional Vs. Imperativo (Intérprete
Más detallesCapítulo 16. Diagrama de Clases UML
Capítulo 16. Diagrama de Clases UML Florentino TORRES M. CINVESTAV-Tamaulipas 15 de Oct del 2012 Florentino TORRES M. (CINVESTAV) 15 de Oct del 2012 1 / 70 1 Capítulo 16. Diagrama de Clases UML Aplicando
Más detallesUniversidad Don Bosco (UDB) Facultad de Ingeniería / Escuela de Computación
UNIDAD 6: APUNTADORES O PUNTEROS CONTENIDOS 6.1. Introducción a los apuntadores o punteros 6.1.1. Parámetros de dirección Parámetros de referencia 6.1.2. Apuntadores o punteros Diferencias entre una referencia
Más detallesAplicaciones de Escritorio
Aplicaciones de Escritorio Introducción n a la Programación Orientada a Objetos con Java Disertantes: Ing. Rasjido, Jose. AdeS Montenegro, Cristian. Agenda Clases y Paquetes. Clases y Paquetes. Modificadores
Más detallesUNIVERSIDAD 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 detallesUNIDAD CURRICULAR: ALGORITMICA Y PROGRAMACIÓN UNIDAD IX. ESTRUCTURAS DE REGISTROS
UNIDAD CURRICULAR: ALGORITMICA Y PROGRAMACIÓN UNIDAD IX. ESTRUCTURAS DE REGISTROS CONTENIDO: Definición, declaración y acceso Estructura y arreglos Ejercicios Resueltos Referencias Bibliográficas UNIDAD
Más detallesTALLER FINAL DE ALGORITMO Y PROGRAMACION ORIENTADA A OBJETOS I (POOI) PRESENTADO POR: GUSTAVO ENRRIQUE SINNING FUENTES. VIRTOR FABIAN RIZO.
TALLER FINAL DE ALGORITMO Y PROGRAMACION ORIENTADA A OBJETOS I (POOI) PRESENTADO POR: GUSTAVO ENRRIQUE SINNING FUENTES. VIRTOR FABIAN RIZO. TALLER PRESENTADO EN LA ASIGNATURA DE ALGORITMO Y PROGRAMACION
Más detallesElementos de un programa en C
Elementos de un programa en C Un programa en C consta de uno o más archivos. Un archivo es traducido en diferentes fases. La primera fase es el preprocesado, que realiza la inclusión de archivos y la sustitución
Más detallesEl patrón Composite (Compuesto) Propósito Componer los objetos a una estructura de jerarquía de relación partetodo.
Definición más precisa de los patrones Un patrón del diseño nomina, abstrae y identifica los aspectos claves de un diseño común para crear un diseño orientado a objetos reutilizable. Son descripciones
Más detallesEstructuras de Datos Declaraciones Tipos de Datos
Departamento de Informática Universidad Técnica Federico Santa María Estructuras de Datos Declaraciones Tipos de Datos Temas: 2-3-4 IWI-131, paralelo 01 Profesor: Teddy Alfaro O. Lenguaje de Programación
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 detalles