Seminario C++ Introducción a la programación orientada a objetos. Parte IV v Cristina Cachero Pedro J. Ponce de León

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

Download "Seminario C++ Introducción a la programación orientada a objetos. Parte IV v Cristina Cachero Pedro J. Ponce de León"

Transcripción

1 Seminario C++ Introducción a la programación orientada a objetos Parte IV v Cristina Cachero Pedro J. Ponce de León Departamento de Lenguajes y Sistemas Informáticos Universidad de Alicante

2 Indice Herencia simple El destructor abstracto Patrón de diseño singleton Tipos enumerados Declaraciones forward Conversión entre objetos (upcasting/downcasting) DLSI- UA POO

3 Herencia Simple class Base { int atrib1; static int atribestatico; void metodoprivado() {... protected: float atrib2; void metodoprotegido() {... public: char atrib3; void metodopublico() {... static int getatribestatico() {... class Derivada : public Base { int otroatributo; public: void metodopublico() {... // reescrito void otrometodo(); // nuevo en Derivada DLSI- UA POO

4 Herencia Simple // Acceso desde métodos de Derivada a propiedades de Base void Derivada::otroMetodo() { cout << atrib1; // ERROR: privado en Base cout << atrib2; cout << atrib3; cout << atribestatico: // ERROR: privado en Base metodoprivado(); // ERROR: privado en Base metodoprotegido(); metodopublico(); getatribestatico(); // Acceso público int main() { Base b; // Base::Base(); Derivada d; // Base::Base(); Derivada::Derivada(); d.metodopublico(); // Derivada::metodoPublico(); d.base::metodopublico(); // Base::metodoPublico(); d.otrometodo(); d.getatribestatico(); cout << d.atrib3 << endl;

5 Destructor abstracto Clase abstracta en C++: Clase con algún método virtual puro El destructor abstracto (virtual puro) class Base {... public: virtual ~Base() = 0; Base::~Base() { /* El destructor abstracto se debe implementar */

6 El patrón de diseño singleton // Aplicacion.h class Aplicacion { public: static Aplicación * getaplicacion() { if (!aplicacion) aplicacion = new Aplicacion; return aplicacion; private: static Aplicacion* aplicacion; Aplicacion(); Ejemplo: // Aplicacion.cc Aplicacion* Aplicacion::aplicacion=NULL; // main.cc int main() { Aplicacion* app = Aplicacion::getAplicacion();

7 Tipos enumerados Se usan para definir conjuntos de constantes enteras bajo un nuevo tipo, diferente de int. enum color { rojo, verde, azul, rosa A las constantes definidas se les asigna valores enteros consecutivos, comenzando por cero. Esto se puede cambiar asignando valores explícitos a las constantes: enum { rojo, // =0 verde, // =1 azul=20, // =20 rosa, // =21 colorao=0, // =0 verde_oliva=verde+2 // =3

8 Tipos enumerados Los tipos enumerados NO son del todo compatibles con el tipo int. Aunque es posible asignar a un entero un tipo enumerado, lo contrario no lo es. En concreto: color c = 1; // ERROR: conversion int -> enum int i = azul; // OK, i=20, conversion enum -> int Sin embargo, color c2 = color(1); // OK Pero, OJO! Hay resultados de castings que dependen del compilador color c3 = color(100) // c3 =? int i = c3 // i =?? En resumen: NO se deben mezclar enteros y tipos enumerados. Los tipos enumerados se utilizan para variables que solo admiten un pequeño número de valores enteros con un significado concreto.

9 Tipos enumerados Definición de tipos enumerados dentro de una clase. Las constantes del tipo enumerado son exportadas al ámbito de la clase. class A { public: enum bit { uno=1, dos=2, cuatro=4 void metododea() { bit b; // OK b = uno; void f(a* a) { A::bit b; // OK b = A::uno; // OK b = a->dos; // OK

10 Declaraciones forward Sirven para desbloquear dependencias circulares entre clases Ejemplo: Un alumno quiere tener acceso a su lista de asignaturas (navegabilidad Alumno->Asignatura) Una asignatura quiere disponer de la lista de alumnos (navegabilidad Asignatura->Alumno) class Asignatura; // permite declarar punteros o referencias // a objetos de tipo Asignatura class Alumno{... private: Asignatura * asignaturas[10]; class Asignatura{... private: Alumno **alumnos;

11 Declaraciones forward OJO! Una declaración forward NO es una definición: class Asignatura; class Alumno {... private: Asignatura asignaturas[10]; // ERROR Para poder hacer esto, Asignatura debería estar definida antes de usarla. Sólo se pueden declarar punteros o referencias a clases declaradas que aún no han sido definidas.

12 Declaraciones forward Declaraciones forward vs. #include Tipicamente en los archivos.h se DEFINEN las clases. Asignatura.h: class Alumno; class Asignatura { private: Alumno *alumnos[100]; // OK puntero a Alumno (aun no def.) Alumno.h: #include Asignatura.h class Alumno { private: Asignatura asignaturas[10]; // OK. Asignatura ya está definida.

13 Conversión entre objetos Sólo cuando pertenecen a la misma jerarquía de herencia Upcasting Base * pb; Derivada* d = new Derivada; // upcasting (automático): pb = d; pb = new Derivada; Downcasting (estático) Derivada* pd; Base* pb = new Derivada; pb->metodopublico(); // Base::metodoPublico() pd = (Derivada*)pb; pd->metodopublico(); //Derivada::metodoPublico()

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

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

Prof. Dr. Paul Bustamante

Prof. Dr. Paul Bustamante Prácticas de C++ Practica Nº 12 Informática II Fundamentos de Programación Prof. Dr. Paul Bustamante Practica Nº 12 Programación en C++ Pág. 1 ÍNDICE ÍNDICE... 1 1. Introducción... 1 1.1 Ejercicio 1: Herencia

Más detalles

Programación orientada a objetos II

Programación orientada a objetos II Repaso de conceptos Programación orientada a objetos II Curso INEM. Programación en C++ Santiago Muelas Pascual smuelas@fi.upm.es! Clase! Objeto! Atributos! Métodos! Cambio de enfoque! Constructor! Creación

Más detalles

Herencia y Polimorfismo en C++

Herencia 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 detalles

3. Indicar la salida por pantalla (2 puntos-10 minutos)

3. Indicar la salida por pantalla (2 puntos-10 minutos) 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 detalles

Prof. Dr. Paul Bustamante

Prof. Dr. Paul Bustamante Prácticas de C++ Practica Nº 07 Informática II Fundamentos de Programación Prof. Dr. Paul Bustamante Practica Nº 07 Programación en C++ Pág. 1 ÍNDICE ÍNDICE... 1 1. Introducción... 1 1.1 Ejercicio 1:

Más detalles

Tema: Plantillas en C++.

Tema: Plantillas en C++. Programación II. Guía 11 1 Facultad: Ingeniería Escuela: Computación Asignatura: Programación II Tema: Plantillas en C++. Objetivos Específicos Conocer los tipos de plantillas Utilizar las plantillas de

Más detalles

Tipos de Datos Simples Contenido del Tema

Tipos de Datos Simples Contenido del Tema T E M A 3 Tipos de Datos Simples Contenido del Tema 3.1. Concepto de Tipo 3.1.1. Elementos básicos: atributos y operaciones 3.1.2. Tipos. Concepto y necesidad 3.1.3. Operadores básicos 3.2. Tipos de Datos

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

Instituto Tecnológico de Celaya

Instituto Tecnológico de Celaya ELEMENTOS BÁSICOS DE C++: DECLARACIÓN DE VARIABLES A través de operaciones aritméticas (suma, resta, etc.) y lógicas (por ejemplo, comparaciones) los programas manipulan datos tales como números y caracteres.

Más detalles

Tema 3. Herencia. Programación Avanzada. Jorge Badenas

Tema 3. Herencia. Programación Avanzada. Jorge Badenas Tema 3. Herencia Programación Avanzada Jorge Badenas 1. Herencia Herencia: relación entre dos clases, donde una clase nueva se define como una extensión de la otra. En la nueva clase sólo necesitamos escribir

Más detalles

POO: Clases y objetos

POO: Clases y objetos POO: Clases y objetos Programación de aplicaciones 1 Introducción En los lenguajes de programación orientados a objetos, tenemos la posibilidad de extender el lenguaje mediante la creación de nuevo tipos,

Más detalles

Tema 6: Memoria dinámica

Tema 6: Memoria dinámica : Programación 2 Curso 2013-2014 Índice 1 2 3 El tamaño es fijo y se conoce al implementar el programa Declaración de variables int i=0; char c; float vf[3]={1.0, 2.0, 3.0}; i c vf[0] vf[1] vf[2] 0 1.0

Más detalles

Programación C++ (1 Parte) Dr. Oldemar Rodríguez Rojas Escuela De Informática Universidad Nacional

Programación C++ (1 Parte) Dr. Oldemar Rodríguez Rojas Escuela De Informática Universidad Nacional Programación C++ (1 Parte) Dr. Oldemar Rodríguez Rojas Escuela De Informática Universidad Nacional Programming Language Popularity: The TCP Index for December, 2012 La noción de clase en C++ C++ fue

Más detalles

Herencia y polimorfismo

Herencia 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 detalles

Programación de Computadores 7 Objetos y Clases. Prof. Javier Cañas R. Universidad Técnica Federico Santa María Departamento de Informática.

Programación de Computadores 7 Objetos y Clases. Prof. Javier Cañas R. Universidad Técnica Federico Santa María Departamento de Informática. Programación de Computadores 7 Objetos y Clases Prof. Javier Cañas R. Universidad Técnica Federico Santa María Departamento de Informática Contenido 1 Introducción 2 Elementos de Programación Orientada

Más detalles

Qué es Java? Un lenguaje de programación Un entorno de desarrollo Un entorno de aplicación Un entorno de despliegue Es similar en sintaxis de C + +.

Qué es Java? Un lenguaje de programación Un entorno de desarrollo Un entorno de aplicación Un entorno de despliegue Es similar en sintaxis de C + +. APUNTES DE JAVA Agenda Bienvenida Conociendo Java La Maquina Virtual Descargar e instalar el compilador El entorno de trabajo El paradigma de la programación orientada a objetos Qué es Java? Un lenguaje

Más detalles

Variables. Una variable no es más que un nombre simbólico que identifica una dirección de memoria: vs.

Variables. Una variable no es más que un nombre simbólico que identifica una dirección de memoria: vs. Variables Una variable no es más que un nombre simbólico que identifica una dirección de memoria: Suma el contenido de la posición 3001 y la 3002 y lo almacenas en la posición 3003 vs. total = cantidad1

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

Una lista de operadores que pueden o no sobrecargarse es la siguiente: Operadores que pueden sobrecargarse

Una lista de operadores que pueden o no sobrecargarse es la siguiente: Operadores que pueden sobrecargarse La sobrecarga de operadores, aunque puede ser una capacidad exótica, la mayoría de personas las usa implícita y regularmente se valen de los operadores sobrecargados. Por ejemplo, el operador de suma (+)

Más detalles

Introducción a la Programación orientada a objetos con C++

Introducción a la Programación orientada a objetos con C++ Introducción a la Programación orientada a objetos con C++ Informática Industrial Ing. en automática y electrónica Industrial Isidro Calvo Informática Industrial 2006/07 2 Objetivos principales Exponer

Más detalles

INFORMÁTICA INDUSTRIAL

INFORMÁTICA INDUSTRIAL INFORMÁTICA INDUSTRIAL Herencia en C++. M. Abderrahim, A. Castro, J. C. Cas3llo Departamento de Ingeniería de Sistemas y Automá3ca AGENDA Herencia Constructores de las Clases Derivadas Destructores de

Más detalles

Algoritmos y Estructuras de Datos Ingeniería en Informática, Curso 2º SEMINARIO DE C++ Sesión 2

Algoritmos y Estructuras de Datos Ingeniería en Informática, Curso 2º SEMINARIO DE C++ Sesión 2 Algoritmos y Estructuras de Datos Ingeniería en Informática, Curso 2º SEMINARIO DE C++ Sesión 2 Contenidos: 1. Definición de clases 2. Implementación de los métodos 3. Constructores y destructores 4. Objetos

Más detalles

INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS

INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS UNIVERSIDAD DE MÁLAGA Dpto. Lenguajes y CC. Computación E.T.S.I. Telecomunicación INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS Tema 4 Programación II Programación II 0 Tema 4: INTRODUCCIÓN A LA PROGRAMACIÓN

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

Unidad Didáctica 2. Elementos básicos del lenguaje Java Tipos, declaraciones, expresiones y asignaciones

Unidad Didáctica 2. Elementos básicos del lenguaje Java Tipos, declaraciones, expresiones y asignaciones Unidad Didáctica 2 Elementos básicos del lenguaje Java Tipos, declaraciones, expresiones y asignaciones Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Versión 1.0.3 Índice

Más detalles

Centro Asociado Palma de Mallorca. Antonio Rivero Cuesta

Centro Asociado Palma de Mallorca. Antonio Rivero Cuesta Centro Asociado Palma de Mallorca Antonio Rivero Cuesta La Sintaxis de Java I... 5 Tipos de datos... 6 Tipos de datos simples... 7 Operadores... 11 Operadores Aritméticos... 12 Operadores relacionales...

Más detalles

Elementos de un programa en C

Elementos 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 detalles

La Herencia. La primera línea de cada declaración debe incluir la sintaxis siguiente:

La Herencia. La primera línea de cada declaración debe incluir la sintaxis siguiente: La Herencia Es la capacidad de compartir atributos y métodos entre clases. Es la propiedad que permite definir nuevas clases usando como base clases ya existentes. La nueva clase (clase derivada) hereda

Más detalles

Polimorfismo. Taller III 2007 Gentile,Vazquez

Polimorfismo. 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 detalles

Polimorfismo de tipo (en la herencia)

Polimorfismo de tipo (en la herencia) Polimorfismo de tipo (en la herencia) Pablo San Segundo (C-206) pablo.sansegundo@upm.es Índice Overriding (especialización o redefinición) Static bind (enlace estático) Dynamic bind (enlace dinámico) Clases

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

Conceptos a tratar. Fundamentos de la Programación Orientada a Objetos Ampliación sobre clases y objetos

Conceptos 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 detalles

Conceptos Básicos. Programación Orientada a Objetos 2

Conceptos Básicos. Programación Orientada a Objetos 2 Programación Orientada a Objetos Conceptos Básicos de Objetos Ing. Julio Ernesto Carreño Vargas MsC. Conceptos Básicos Las aproximaciones ADOO y POO, proveen a los objetos como el principal medio para

Más detalles

Impresión por pantalla. 3. Indicar la salida por pantalla (2 puntos-20 minutos)

Impresió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 detalles

Tema 2: Programación basada en Objetos

Tema 2: Programación basada en Objetos Tema 2: Programación basada en Objetos Programación Orientada a Objetos Marcos López Sanz Máster en Informática Gráfica, Juegos y Realidad Virtual Índice Objetivos Introducción Vista Pública Clases Objetos

Más detalles

2.2 Nombres, Ligado y Ámbito

2.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 detalles

12. Tipos de atributos

12. Tipos de atributos Programación orientada a objetos con Java 135 12. Tipos de atributos Objetivos: a) Profundizar en el concepto de atributo de una clase e indicar los tipos de atributos en Java b) Interpretar el código

Más detalles

Temas. Taller III 2007 Gentile,Vazquez

Temas. 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 detalles

Introducción a Java. Fernando Cerezal López. 24 Noviembre 2005

Introducción a Java. Fernando Cerezal López. 24 Noviembre 2005 24 Noviembre 2005 disponibles de acceso public private protected de tipo static abstract final modificadores más avanzados que no vamos a ver... Clase Sintaxis modificadores class nombreclase{} Tipos primitivos

Más detalles

Sobrecarga de Operadores II

Sobrecarga de Operadores II D é c i m o q u i n t a S e s i ó n Metodologías y Técnicas de Programación II Programación Orientada a Objeto (POO) C++ Sobrecarga de Operadores II 1 Sobrecarga de operadores unitarios (o unarios) Son

Más detalles

Polimorfismo. Métodos virtuales

Polimorfismo. 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 detalles

Introducción al lenguaje C

Introducción al lenguaje C Introducción al lenguaje C Programación 2 Instituto de Computación, Facultad de Ingeniería, Universidad de la República, Uruguay 2 de marzo de 2016 Programación 2 Introducción al lenguaje C 2 de marzo

Más detalles

Manejo de Clases y Objetos. Manejo de Clases y Objetos

Manejo de Clases y Objetos. Manejo de Clases y Objetos Cod. 1728.61 PLATAFORMA.NET Y SERVICIOS WEB nestor@lsi lsi.uniovi.es Dpto. de Informática - Laboratorio de Tecnologías de Orientación a Objetos http://www www.ootlab.uniovi.es CONCEPTOS BÁSICOS Objeto:

Más detalles

VARIABLES, CONSTANTES Y EXPRESIONES ASIGNACIÓN. TIPOS ELEMENTALES. PRECEDENCIA DE LOS ESTRUCTURAS DE CONTROL. CONDICIONAL E

VARIABLES, CONSTANTES Y EXPRESIONES ASIGNACIÓN. TIPOS ELEMENTALES. PRECEDENCIA DE LOS ESTRUCTURAS DE CONTROL. CONDICIONAL E Java Java es un lenguaje de programación presentado en 1995 enfocado a: soportar los fundamentos de la programación orientada a objetos. generar código independiente de la arquitectura de la computadora

Más detalles

Programación Orientada a Objetos

Programación Orientada a Objetos Programación Orientada a Objetos Informática II Fundamentos de Programación 1 Concepto de POO Un Objeto es una encapsulación de un conjunto de datos y de los métodos para manipular éstos. Las características

Más detalles

Java. Introducción a la Programación Orientada a Objetos

Java. Introducción a la Programación Orientada a Objetos Java Java es un lenguaje de programación presentado en 1995 enfocado a: soportar los fundamentos de la programación orientada a objetos. generar código independiente de la arquitectura de la computadora

Más detalles

Funciones Propias con C++ (funciones definidas por el usuario)

Funciones Propias con C++ (funciones definidas por el usuario) Funciones Propias con C++ (funciones definidas por el usuario) Jorge A. Martel Torres Programación para ingeniería Jorge A. Martel Torres 1 Introducción Nace del principio divide y vencerás, que consiste

Más detalles

5. Modificadores de Acceso (friendly, public, private y protected)

5. Modificadores de Acceso (friendly, public, private y protected) Contenido MODIFICADORES DE ACCESO... 2 1.- Amistoso ( Friendly )... 2 2.- public... 4 3.- private eso no se toca!... 7 4.- protected un tipo de amistades... 10 MODIFICADORES DE CLASE... 13 Modificadores

Más detalles

3. LA HERENCIA. Necesidad de la herencia

3. LA HERENCIA. Necesidad de la herencia página 1 3. LA HERENCIA 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

Más detalles

Programació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 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 detalles

INTRODUCCIÓN A LA POO EN C++

INTRODUCCIÓN A LA POO EN C++ INTRODUCCIÓN A LA POO EN C++ ÍNDICE DEL TEMA 1.- Introducción 2.- Diferencias C/C++ 3.- Programación orientada a objetos 4.- Aspectos avanzados C++ 1 1. Introducción Lenguaje C Lenguaje de propósito general

Más detalles

Constantes. Las constantes no cambian durante la ejecucion de un programa en C++, en C++ existen 4 tipos de constantes:

Constantes. Las constantes no cambian durante la ejecucion de un programa en C++, en C++ existen 4 tipos de constantes: Constantes Las constantes se pueden declarar con la palabra reservada const y se le asigna un valor en el momento de la declaracion, este valor no se puede modificar durante el programa y cualquier intento

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

Introducción al lenguaje C

Introducción al lenguaje C Programación 2 Profesorado de Informática CeRP del Suroeste, Uruguay 29 de marzo de 2016 Estructuras de control IV Iteración Sentencia for: for (inicio; condicion; paso) cuerpo for (int i = 0; i < 10;

Más detalles

Definición y Conversión de datos. Agustín J. González ELO-329

Definición y Conversión de datos. Agustín J. González ELO-329 Definición y Conversión de datos Agustín J. González ELO-329 1 Calificador Const El calificador const previene que un objeto sea modificado con posterioridad a su definición. El objeto calificado como

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

La herencia. Tipo. Subtipo subcategoría. La herencia. Recurso muy importante de los lenguajes P.O.O. Definir una nueva clase:

La herencia. Tipo. Subtipo subcategoría. La herencia. Recurso muy importante de los lenguajes P.O.O. Definir una nueva clase: La herencia La herencia Recurso muy importante de los lenguajes P.O.O. Definir una nueva clase: como extensión de otra previamente definida. sin modificar la ya existente. La nueva clase hereda de la clase

Más detalles

Programación 1. Tema I. Conceptos y elementos básicos de Programación. Lección 2. Lenguaje de programación y ejecución de un programa

Programación 1. Tema I. Conceptos y elementos básicos de Programación. Lección 2. Lenguaje de programación y ejecución de un programa Programación 1 Tema I. Conceptos y elementos básicos de Programación Lección 2. Lenguaje de programación y ejecución de un programa 1 Léxico, sintaxis y semántica de un lenguaje #include #include

Más detalles

Polimorfismo Java y Servicios Web I Master en Ingeniería Matemática

Polimorfismo Java y Servicios Web I Master en Ingeniería Matemática Polimorfismo Java y Servicios Web I Master en Ingeniería Matemática Manuel Montenegro Dpto. Sistemas Informáticos y Computación Desp. 467 (Mat) montenegro@fdi.ucm.es Contenidos Introducción. Conversión

Más detalles

Cómo se estructura un programa en C#? Qué son las clases y los objetos? Cómo se estructuran los dibujos de AutoCAD?

Cómo se estructura un programa en C#? Qué son las clases y los objetos? Cómo se estructuran los dibujos de AutoCAD? Cómo se estructura un programa en C#? Qué son las clases y los objetos? Cómo se estructuran los dibujos de AutoCAD? 1 2.1. CONCEPTOS FUNDAMENTALES DE C# 2.1.1. FUNCIONES: PÁSO DE PARÁMETROS 2.1.2. CLASES

Más detalles

Objetos y memoria dinámica

Objetos 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 detalles

Identidad, igualdad y equivalencia

Identidad, igualdad y equivalencia Identidad, igualdad y equivalencia Introducción a la Programación Orientada a objetos 2018 Clases como tipos Cuando el analista o el diseñador de un sistema orientado a objetos especifica una clase, establece

Más detalles

Tema: Sobrecarga de Operadores Unarios. Sobrecarga de Funciones.

Tema: Sobrecarga de Operadores Unarios. Sobrecarga de Funciones. Programación II. Guía 8 1 Facultad: Ingeniería Escuela: Computación Asignatura: Programación II Tema: Sobrecarga de Operadores Unarios. Sobrecarga de Funciones. Objetivos Diferenciar sobrecarga de operadores

Más detalles

Lenguaje de Programación Orientado a Objetos

Lenguaje de Programación Orientado a Objetos Lenguaje de Programación Orientado a Objetos 3.1 Tipos de datos primitivos 3.2 Declaración de clases y subclases 3.3 Declaración de herencia e interfaces 3.4 Relaciones entre clases 3.5 Clases y métodos

Más detalles

Punteros y Arreglos dinámicos Septiembre de Facultad de Ingeniería. Universidad del Valle

Punteros y Arreglos dinámicos Septiembre de Facultad de Ingeniería. Universidad del Valle y carlos.andres.delgado@correounivalle.edu.co Facultad de Ingeniería. Universidad del Valle Septiembre de 2016 Contenido 1 2 3 Son un tipo especial de variable que almacena dirección de una variable o

Más detalles

Clases y Objetos en Java. ELO329: Diseño y Programación Orientados a Objetos

Clases y Objetos en Java. ELO329: Diseño y Programación Orientados a Objetos Clases y Objetos en Java ELO329: Diseño y Programación Orientados a Objetos Construyendo clases nuevas La forma más simple de una clase en Java es: Class Nombre_de_la_Clase { } /* constructores */ /* métodos

Más detalles

Estructuras de Datos Declaraciones Tipos de Datos

Estructuras 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 detalles

Programación 1 Tema 2. Lenguaje de programación y ejecución de un programa

Programación 1 Tema 2. Lenguaje de programación y ejecución de un programa Programación 1 Tema 2 Lenguaje de programación y ejecución de un programa Índice Lenguaje de programación Símbolos Sintaxis Semántica Computador Ejecución de un programa Sistema operativo, entorno de programación

Más detalles

A3F. Polimorfismo. Carlos Fontela

A3F. Polimorfismo. Carlos Fontela Polimorfismo Carlos Fontela cfontela@fi.uba.ar Temario Métodos virtuales Métodos abstractos Polimorfismo como concepto Interfaces Clases internas 2c2009 2 Métodos virtuales (1) 2c2009 3 Métodos virtuales

Más detalles

Algoritmos y Estructuras de Datos Ingeniería en Informática, Curso 2º SEMINARIO DE C++ Sesión 1

Algoritmos y Estructuras de Datos Ingeniería en Informática, Curso 2º SEMINARIO DE C++ Sesión 1 Algoritmos y Estructuras de Datos Ingeniería en Informática, Curso 2º SEMINARIO DE C++ Sesión 1 Contenidos: 1. Características generales de C++ 2. Entrada/salida estándar 3. Variables y tipos de datos

Más detalles

Abstracción. Encapsulamiento. Polimorfismo. Objeto. método / objeto / clase / módulo. Separación de las propiedades de un

Abstracción. Encapsulamiento. Polimorfismo. Objeto. método / objeto / clase / módulo. Separación de las propiedades de un Abstracción Encapsulamiento Separación de las propiedades de un método / objeto / clase / módulo de la implementación del mismo Ocultamiento de información No es necesario dar conocer los detalles de la

Más detalles

Examen Teórico. Convocatoria de Julio de 2015

Examen Teórico. Convocatoria de Julio de 2015 Examen Teórico Convocatoria de Julio de 2015 Nombre: DNI: Grupo: 1. Sobre la ejecución de aplicaciones Java desde la línea de comandos: a) Explica el significado y uso del parámetro cp. b) Indica si la

Más detalles

Tema: Funciones Virtuales y Polimorfismo.

Tema: 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 detalles

ELO329: Diseño y Programación Orientados a Objetos Segundo Certamen

ELO329: Diseño y Programación Orientados a Objetos Segundo Certamen Segundo Certamen Primera Parte (Sin Apuntes, 30 minutos, 1/3 puntaje): (5 pts cada una, el total se multiplica por 34/40) 1. Cuál es la relación entre clases protegidas, privadas y el calificador Friend?

Más detalles

Unidad V. Ya veremos qué poner en "algunas_palabras" y "algo_más", por ahora sigamos un poco más.

Unidad 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 detalles

POO PROGRAMACIÓN ORIENTADA A OBJETOS

POO PROGRAMACIÓN ORIENTADA A OBJETOS POO PROGRAMACIÓN ORIENTADA A OBJETOS 1 Programación estructurada, consiste en descomponer el problema objeto de resolución en subproblemas y más subproblemas hasta llegar a acciones muy simples y fáciles

Más detalles

Guía de Referencia Rápida de C++ (std)

Guía de Referencia Rápida de C++ (std) Guía de Referencia Rápida de C++ (std) Programa C++ // Inclusión de bibliotecas // Utilización de espacios de nombre // Definición de Constantes y Tipos // Definición de subprogramas // cuerpo del programa

Más detalles

2º Parcial. Bloque I. Preguntas cortas LPOO (C++, C#, Java) Nombre: DNI: Titulación:

2º Parcial. Bloque I. Preguntas cortas LPOO (C++, C#, Java) Nombre: DNI: Titulación: 2º Parcial Bloque I. Preguntas cortas LPOO (C++, C#, Java) 5 puntos Nombre: DNI: Titulación: Se debe tener un mínimo del 40% de la puntuación de este bloque para poder aprobar el examen. 1- Indica si el

Más detalles

Examen Junio- Grupo B Lunes 17 de Junio - Programación en C++ Pág. 1

Examen Junio- Grupo B Lunes 17 de Junio - Programación en C++ Pág. 1 Examen Junio- Grupo B Lunes 17 de Junio - Programación en C++ Pág. 1 ÍNDICE ÍNDICE... 1 1.1 Ejercicio 1: Empresa Videojuegos (3.5 ptos.)... 1 1.2 Ejercicio 2: Clase Rectangulo (1.0 pto.)... 3 1.3 Ejercicio

Más detalles

El lenguaje C++ A partir del lenguaje C Entorno de programación Visual C++

El lenguaje C++ A partir del lenguaje C Entorno de programación Visual C++ El lenguaje C++ A partir del lenguaje C Entorno de programación Visual C++ Nuevas palabras reservadas asm inline public virtual catch new template class operator this delete private throw friend protected

Más detalles

HOJA DE EJERCICIOS 3 HERENCIA ENTRE CLASES Y POLIMORFISMO DE MÉTODOS

HOJA DE EJERCICIOS 3 HERENCIA ENTRE CLASES Y POLIMORFISMO DE MÉTODOS Estructura de la Información en Programación I.T.I.G., Matemáticas. Curso 2009/2010 Nombre:... Fecha: / 11 / 2009 HOJA DE EJERCICIOS 3 HERENCIA ENTRE CLASES Y POLIMORFISMO DE MÉTODOS Esta hoja de ejercicios

Más detalles

Informática Industrial I

Informática Industrial I Informática Industrial I Grado en Ingeniería en Electrónica Industrial y Automática Álvaro Castro González Nicolas Burus Mohamed Abderrahim José Carlos Castillo Montoya Práctica 5 Clases abstractas y polimorfismo

Más detalles

Tema 2: Clase y objetos en C# Programación Orientada a Objetos Curso 2008/2009 Begoña Moros Valle

Tema 2: Clase y objetos en C# Programación Orientada a Objetos Curso 2008/2009 Begoña Moros Valle Tema 2: Clase y objetos en C# Programación Orientada a Objetos Curso 2008/2009 Begoña Moros Valle Contenido Introducción. Clases. Propiedades. Visibilidad. Espacios de nombres. Ensamblados. Tipos del lenguaje.

Más detalles

Introducción a c++ Introducción a la programación EIS Informática III

Introducción a c++ Introducción a la programación EIS Informática III Introducción a c++ Un lenguaje de programación es un lenguaje formal diseñado para realizar procesos que pueden ser llevados a cabo por máquinas como las computadoras. Pueden usarse para crear programas

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

Apunte de clase C++ C++ introduce la posibilidad de realizar comentarios de una sola línea a partir de una doble barra de división "//"

Apunte de clase C++ C++ introduce la posibilidad de realizar comentarios de una sola línea a partir de una doble barra de división // Apunte de clase C++ Diferencias entre C y C++ Comentario de una sola línea C++ introduce la posibilidad de realizar comentarios de una sola línea a partir de una doble barra de división "//" int a, b;

Más detalles

APUNTES PROII 2º PARCIAL.

APUNTES 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 detalles

Nociones básicas sobre C++ Agustín J. González Patricio Olivares ELO-329

Nociones básicas sobre C++ Agustín J. González Patricio Olivares ELO-329 Nociones básicas sobre C++ Agustín J. González Patricio Olivares ELO-329 1 C++ vs C C++ es un lenguaje más actual que C C++ mantiene todo el poder de C agregando características que facilitan la programación.

Más detalles

Introducción a C++ Algoritmos y Estructuras de datos II Dra. Carmen Mezura Godoy. Febrero 2009

Introducción a C++ Algoritmos y Estructuras de datos II Dra. Carmen Mezura Godoy. Febrero 2009 Introducción a C++ Algoritmos y Estructuras de datos II Dra. Carmen Mezura Godoy Febrero 2009 Índice Elementos básicos Ejecución de un programa Estructuras de control Ciclos Ejercicios 2 Elementos Básicos

Más detalles

Introducción a C++ Índice

Introducción a C++ Índice Introducción a C++ 1. 2. 3. 4. 5. 6. Índice 1. Diferencias entre C y C++. 2. Diferencias entre C++ y Java. 3. Ejemplos. 4. Funciones. 5. Memoria dinámica 6. Librería de funciones. 1 1. Diferencias entre

Más detalles

Ejercicios De Programación De C++ Algoritmos. Lenguaje De Programación C++:

Ejercicios De Programación De C++ Algoritmos. Lenguaje De Programación C++: Ejercicios De Programación De C++ 1. Muestre en pantalla el mensaje Bienvenido. Algoritmos 1. Inicio 2. muestrer en pantalla el mensaje Bienvenido 3. Fin Lenguaje De Programación C++: #include

Más detalles

Tema 2. Tipos y Estructuras Básicas

Tema 2. Tipos y Estructuras Básicas Tema 2. Tipos y Estructuras Básicas http://aulavirtual.uji.es José M. Badía, Begoña Martínez, Antonio Morales y José M. Sanchiz {badia, bmartine, morales, sanchiz}@icc.uji.es Estructuras de datos y de

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

ELO329: Diseño y Programación Orientados a Objetos 29 de Junio 2016

ELO329: Diseño y Programación Orientados a Objetos 29 de Junio 2016 Nombre: RUT: Segundo Certamen Si algo no está claro, indíquelo en su respuesta, haga una suposición razonable y resuelva conforme a ella. Primera parte, sin apuntes (32 minutos; 32 puntos): 1.- Responda

Más detalles