Programación Orientada a Objetos Curso 2010/2011

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

Download "Programación Orientada a Objetos Curso 2010/2011"

Transcripción

1 Programación Orientada a Objetos Curso 2010/2011 Ejercicios sobre C++, C# y comparativa LPOO Ejercicios C++ 1. Dado el siguiente código C++: void met() throw (runtime_error) { throw runtime_error( operación no válida ); Es equivalente declarar la excepción o no hacerlo? Justifica la respuesta. 2. Existe algún problema en la jerarquía C++ siguiente? En ese caso indica la solución. class A{ protected: int at; virtual void met()=0; ; class B: public A{; class C: public A{; class D: public B, public C{ private: void met(); ; //fichero.cpp void D::met(){ ++at; 3. Escribe el código de un único constructor C++ equivalente a la siguiente declaración de constructores en Java: public enum Estado {E1, E2, E3 public class A { private Estado estado; private int at; public A(){ estado = Estado.E1; public A (Estado e, int v){ estado = e; at = v; 1

2 4. Dada la jerarquía de herencia de la izquierda indica qué versión de los métodos f y g se ejecutará en cada una de las llamadas del código de la derecha, indicando en cada caso si se resuelve por ligadura estática o dinámica. A virtual void f(); //versión α void g(); //version δ B void g(); //version θ C void f(); //versión β A oa; B ob; C oc; A *pa; B *pb; oa = oc; oa.f(); oa.g(); ob.f(); ob = oc; ob.f(); oc.g(); pa = new B(); pa->f(); pa->g(); pb = new C(); pb->f(); 5. Son equivalentes las siguientes declaraciones? Justifica la respuesta representando gráficamente el resultado de la creación de cada una de las estructuras de datos. C++ Java Punto* pentagono = new Punto[5]; Punto[] pentagono = new Punto[5]; 6. Existe algún problema en la siguiente jerarquía C++? Justifica la respuesta. class A{ private: int at; public: virtual void met()=0; ; class B: { private: int at; public: void met(); ; class C: public A, private B{ public: void met(); ; //fichero.cpp void B::met(){ at = 3; void C::met(){ B::met(); 7. En C++, es posible invocar un mismo método sobre un objeto y que unas veces la llamada se resuelva con ligadura dinámica y otras con ligadura estática? Justifica la respuesta. 2

3 8. En qué caso sería válida la siguiente declaración C++? Justifica la respuesta. Cuenta* cuentas = new Cuenta[10]; 9. Cuál sería el resultado de la compilación y ejecución del siguiente código C++? Justifica la respuesta. Cuenta cta1, cta2; cta1 = cta2; if (cta1 == cta2) cout<< Cuentas iguales <<endl; else cout<< Cuentas distintas <<endl; 10. Existe algún problema en el siguiente código C++? En el caso de que lo haya indica la manera de solucionarlo. Justifica la respuesta. class PersonaUMU{ private: string nombre; public: PersonaUMU(string s); string getnombre(); ; PersonaUMU* p; ProfesorAyudante* ayu; ayu = new ; p = ayu; p->getnombre(); class Alumno: public PersonaUMU{ ; class Profesor: public PersonaUMU{ ; class ProfesorAyudante: public Alumno, public Profesor{ ; 11. Escribe el código C++ equivalente al siguiente código Java: package util; public class BancoUtil { public int procesabalance(cuenta cuenta) { if (cuenta instanceof CuentaRemunerada) return ((CuentaRemunerada)cuenta).getBalance(); else return -1; 3

4 12. En C++, cuáles son los valores de oa1.at, oa2.at y de v después de la ejecución del método met? class A { private: int at; public: A(); void met(a& p1, int p2); A::A(){ at=0; void A::met(A& p1, int p2){ A oa; oa.at = 4; p1 = oa; at = p2++; A oa1; A oa2; int v = 5; oa1.met(oa2,v); 13. En C++, dado el siguiente método que tiene un parámetro p, indica cómo sería la declaración del parámetro. int A::met( //COMPLETAR ) { return p(this, false); 14. Dadas las siguientes clases en C++, indica el código que sería necesario introducir en la clase C para que compile el código de la derecha. Justifica la respuesta. class A { public: virtual void met(); ; class B { public: virtual void met(); ; class C: public A, public B { ; C oc; oc.met(); 15. El siguiente código es una clase genérica en Java. Justificando la respuesta, indica si es posible trasladar la semántica de esa clase a C++. Escribe la implementación del método actualiza en C++. public class Generica <T extends A & Comparable> { protected void actualiza (A obj1, T obj2) { if (obj2.compareto(obj1) < 0) { obj1 = obj2; obj1.setactualizado(); 4

5 16. Sobre C++: 17. En C++: a. Explica la herencia privada en C++ indicando las diferencias con la herencia pública. b. Indica si la siguiente afirmación es verdadera o falsa justificando la respuesta: En C++ se puede conseguir el equivalente a una clase sealed de C# combinando la herencia virtual y clases amigas. a) Indica si la siguiente afirmación es verdadera o falsa justificando la respuesta: el paso de parámetros por referencia permite modificar el oid de los objetos. b) Es posible indicar que dentro de un método no se va a modificar el estado de un objeto pasado como parámetro? Justifica la respuesta con un ejemplo. 18. Supuesta la implementación de la clase genérica Vector en C++ que incluye el siguiente método para sumar vectores, responde justificando las respuestas: template <class T> Vector<T> Vector<T>::suma(Vector<T> v2){ Vector<T> result; for (int i = 0; i< size() ; i++) result.data[i] = data[i] + v2.data[i]; return result; a) Si data es un atributo privado, qué sería necesario para que las expresiones result.data[i] y v2.data[i] sean correctas? b) Sería correcta la declaración de la variable local result? c) Es necesario restringir la genericidad a tipos de datos que se puedan sumar? 19. Herencia múltiple en C++: a) Qué se entiende por ruta o camino de la herencia? Qué utilidad tiene? b) Qué es un método o función dominante? 20. En Java, dada la clase A donde se define el siguiente método, que sólo puede dejar escapar excepciones runtime, escribe la declaración e implementación del método equivalente en C++: public void metodo(a[] array) { try { array = new A[20]; catch (Throwable e) { if (e instanceof RuntimeException) throw (RuntimeException)e; 21. Explica los conceptos de identidad e igualdad de objetos en C++. 5

6 Ejercicios C# 1. Es posible realizar la siguiente asignación en C#? Justifica la respuesta. Persona cliente = Pepito Pérez ; 2. La clase C# Monedero incluye un único atributo que almacena el dinero disponible en euros. Completa la implementación de la clase Monedero, sin añadir ningún atributo más, de manera que el código del programa sea correcto (NOTA: 1 euro son 166 pesetas) class Programa{ static void Main() { Monedero m = new Monedero(); m.pesetas = 500; Console.WriteLine("Saldo pesetas: "+ m.pesetas); class Monedero{ private double euros; //Completar 3. En relación a las estructuras en C#, indica si el siguiente enunciado es verdadero o falso justificando la respuesta: Sea B una estructura que hereda de otra estructura A, todos los constructores de B deben invocar obligatoriamente el constructor sin argumentos de A, ya que ese constructor siempre existe. 4. Puede una clase abstracta C# declararse como sealed? Justifica la respuesta. 5. Qué diferencia existe entre los paquetes de Java y los espacios de nombres en C#? 6. Sea la clase Contador que tiene un solo atributo de tipo entero con nombre valor, escribe en C# el operador de comparación < para esa clase. 6

7 Previo a las preguntas 7, 8 y 9. En C#, sea una clase genérica Bascula con un tipo genérico T que declara un atributo con nombre elementos de tipo array de T: 7. En qué casos sería correcto el siguiente código? Justifica la respuesta. for (int i = 0; i < 10; i++) elementos[i] = new T(); 8. Sea el método IndexOf que nos indica el índice de un elemento en el array. en qué casos sería correcto el siguiente código? Justifica la respuesta. int IndexOf (T elemento) { for (int i = 0; i < elementos.length; i++) if (elementos[i] == elemento) return i; return -1; 9. Supongamos que los elementos que almacena la clase genérica tienen un peso y queremos añadir un método que calcula el peso de los elementos. Cómo podríamos conseguir implementar esta funcionalidad? int CalcularPeso() { int pesototal = 0; foreach (T elemento in elementos) pesototal += elemento.peso; return pesototal; 10. Sean las interfaces Reseteable y Crono que se definen del siguiente modo: interface Reseteable { void Reset(); interface Crono { void Start(); double Stop(); void Reset(); Queremos programar la clase Reloj que implementa la interfaz Reseteable, cuyo método Reset deja los valores del reloj en estado inicial y la interfaz Crono para reproducir un cronómetro, donde los métodos Start y Stop inician y detienen el cronómetro y Reset lo pone a cero. Existe algún problema en C# para que la clase Reloj implemente estas dos interfaces? Justifica la respuesta. 7

8 11. En C#, cuáles son los valores de oa1.at, oa2.at y de v después de la ejecución del método met? Justifica la respuesta. class A { private int at; public A(){ at=1; public void met(ref A p1, int p2){ A oa3 = new A(); oa3.at = 4; p1 = oa3; p2 = p2+1; at = p2; A oa1 = new A(); A oa2 = new A(); int v = 5; oa1.met(ref oa2,v); 12. En C#, qué condiciones deben cumplirse para que la clase B compile siendo I1 una interfaz no vacía? Justifica la respuesta. sealed class B : A, I1 { 13. Dado el código del siguiente método en C#, completa la declaración del parámetro p y declara su tipo: double metodo(//completar parámetro p ) { int[] valores = {1, 2, 3; return p(valores); 14. Implementa el código C# equivalente a la siguiente declaración Java definiendo la propiedad Edad que sustituya al método getedad. Nota: puedes suponer la existencia de la clase System.DateTime en C# con la misma funcionalidad que la clase java.util.date. import java.util.date; public class Persona{ private Date fechanacimiento; public Persona(Date f){ fechanacimiento = f; public int getedad(){ return new Date().getYear()-fechaNacimiento.getYear(); 8

9 15. Cuál es el significado y cómo se invocaría al siguiente operador C#? public static implicit operator String (Persona p) { return p.dni; 16. Explica los tipos de redefiniciones de métodos en C# indicando claramente la diferencia entre ellos. 17. Completa el código C# del método main para que aplicando los métodos de las interfaces la ejecución del programa de como salida la cadena 1 2. interface I1{ int met(); interface I2{ int met(); class A : I1, I2{ int I1.met(){return 1; int I2.met(){return 2; public static void main (){ A oa = new A(); //completar 18. Indica si el siguiente enunciado es verdadero o falso, justificando la respuesta: en C#, la aplicación de un método sobre una variable polimórfica siempre se resuelve, al igual que en Java, utilizando ligadura dinámica. 19. Escribe el código C++ equivalente a la siguiente declaración de C#, siendo Deposito una clase: Deposito[] depositos = new Deposito[10]; 20. En C#, qué diferencias hay entre declarar un atributo con el modificador readonly y const? Si el atributo fuera público, para ambos casos, cómo podemos acceder a ese atributo? 9

10 21. Para una estructura en C#, indica, justificando la respuesta, si las siguientes afirmaciones son válidas: a) Las estructuras no tienen disponible el método Equals, ya que son tipos por valor. Por tanto, para implementar la igualdad deben redefinir el operador ==. b) En las estructuras siempre está disponible el constructor por defecto. 22. En C#, en la declaración de métodos, en qué casos es aplicable el modificador sealed? 23. Indica si el siguiente enunciado es verdadero o falso, justificando la respuesta: En C#, en un método de instancia de una clase siempre es posible aplicar cualquier otro método de instancia de la misma clase si el mensaje es aplicado a la referencia this. 24. En C#, sea Contenedor una clase genérica con un parámetro y Cuadrado subclase de Rectangulo, indica si el siguiente código es correcto justificando la respuesta: Rectangulo r = new Cuadrado(); Contenedor<Rectangulo> cr = new Contenedor<Cuadrado>(); cr.setcontenido((cuadrado)r); 25. En C#, sean las clases A, B y C, donde B es hija de A, y C es hija de B, y todas las clases definen los métodos f() y g() mostrando por la consola el nombre de la clase y el método, por ejemplo A.f(). Justificando la respuesta, indica los modificadores que habría que aplicar a los métodos para que la ejecución del código sea la que se indica en el siguiente código. A a = new B(); a.f(); // A.f() a.g(); // B.g() a = new C(); a.g(); // B.g() B b = new C(); b.f(); // C.f() 26. En C#, qué se entiende por boxing? Explica por qué es importante este mecanismo para las estructuras. Existe algún mecanismo similar en Java? En caso de que exista, indica las diferencias. 10

11 27. Dado el siguiente código C# explica los modificadores de los métodos e indica cuál sería el resultado de la ejecución: class A { public virtual string met(){return "A:met"; class B : A { public override string met(){return "B:met"; class C : B { public new virtual string met(){return "C:met"; class D : C { public override sealed string met(){return "D:met"; class Program { static void Main(string[] args){ A oa = new D(); Console.WriteLine(oa.met()); B ob = new C(); Console.WriteLine(ob.met()); C oc = new D(); Console.WriteLine(oc.met()); 28. En C#: a) Qué es una propiedad automática? Ilustra la respuesta con un ejemplo. b) Cómo indicamos que una propiedad automática es de sólo lectura? Justifica la respuesta. 29. Enumera las categorías de tipos de datos en C#. 30. Delegados en C#: a) Escribe la declaración de un delegado con la siguiente especificación: dado un array de tipo object, devuelve un valor entero. b) Implementa ese delegado de manera que cuente todos los objetos que sean compatibles con el tipo A. 31. Genericidad: a) Dejando a un lado el tratamiento de objetos por valor y referencia, indica brevemente 3 características de la genericidad de C# no soportadas por Java. b) Cómo sería la declaración equivalente al tipo comodín en Java para el paso de parámetros en C#? Ilustra la respuesta con un ejemplo. 11

12 Comparativa LPOO 1. Indica si el siguiente enunciado es verdadero o falso justificando la respuesta: En los LPOO estudiados sólo es posible acceder a las características privadas de una clase en el cuerpo de la clase donde se declaran. 2. Indica si el siguiente enunciado es verdadero o falso justificando la respuesta: La conversión de tipos en los LPOO estudiados siempre provoca una excepción equivalente a la excepción Java ClassCastException si los tipos no son compatibles. 3. En los lenguajes estudiados en la asignatura cuántas clases públicas pueden definirse en un mismo fichero de código fuente? Justifica la respuesta. 4. En los lenguajes estudiados en la asignatura, qué valor toma por defecto un atributo de tipo enumerado si no es inicializado en la declaración o en el constructor? 5. En los lenguajes estudiados en la asignatura, puede definirse una clase sin constructor? puede una clase hija tener menos constructores que el padre? Y al revés? Justifica las respuestas. 6. Compara el funcionamiento del operador = en los lenguajes estudiados en la asignatura. 7. En los lenguajes estudiados en la asignatura, es obligatorio el manejo de la excepciones en un bloque try catch? Justifica la respuesta. 8. Indica si el siguiente enunciado es verdadero o falso, justificando la respuesta: en los lenguajes estudiados en la asignatura, es posible cambiar el nivel de visibilidad de los métodos redefinidos sólo para ampliarla, por ejemplo pasar de protected a public. 9. Sea la clase Contenedor una clase genérica con un único parámetro sería correcta la siguiente declaración en todos los lenguajes estudiados en la asignatura? Justifica la respuesta. Contenedor<int> contenedorentero; 10. En los lenguajes estudiados en la asignatura es posible sobrecargar los constructores de la clase. Explica en cada caso cómo es posible reutilizar el código de dichos constructores. 12

13 11. En los lenguajes estudiados en la asignatura, es posible indicar en la declaración de un método que no va a modificar ningún atributo del objeto receptor? 12. En los lenguajes estudiados en la asignatura, si declaramos un bloque try-catch que envuelve un fragmento de código que puede lanzar una excepción, cuántos manejadores catch podrían dar tratamiento a esa excepción? Justifica la respuesta. 13. En los lenguajes estudiados en la asignatura, puede una clase genérica ser parametrizada con una clase abstracta? Justifica la respuesta. 14. Indica si el siguiente enunciado es verdadero o falso, justificando la respuesta: En los lenguajes estudiados en la asignatura es posible ampliar el conjunto de operaciones aplicables sobre los tipos genéricos, incluida la creación de objetos, siempre y cuando se restrinja la genericidad convenientemente. 15. Indica si el siguiente enunciado es verdadero o falso, justificando la respuesta: en los lenguajes estudiados en la asignatura, una subclase no puede ocultar los métodos de la clase de la que hereda. 16. Para cada uno de los lenguajes estudiados en la asignatura, y dada la clase Cuenta, indica en qué casos sería correcto el siguiente código, justificando la respuesta. Cuenta cuenta; cuenta.ingreso(100); 17. Para cada uno de los lenguajes estudiados en la asignatura, indica en qué casos sería correcto el siguiente código, justificando la respuesta. Cuenta c1, c2; if ( c1 < c2 ) c1 = c2; 18. Indica si el siguiente enunciado es verdadero o falso, justificando la respuesta: en los lenguajes estudiados en la asignatura, sólo se puede realizar una asignación si el tipo estático de la parte derecha es compatible con el tipo estático de la parte izquierda. 19. Sea el método met() que puede lanzar la excepción Ex1, indica, para cada uno de los lenguajes estudiados en la asignatura, en qué situaciones el código sería correcto: void otro() { met(); 13

14 20. Explica la semántica de almacenamiento por valor en C++. Qué debemos tener en cuenta al declarar un objeto por valor como atributo en C++? Y en C#? Justifica las respuestas. 21. En los lenguajes estudiados en la asignatura, y en relación a las excepciones responde a las siguientes cuestiones: a. Cómo podemos relanzar una excepción dentro de un manejador? b. Una excepción relanzada puede ser tratada por otro manejador del mismo bloque try-catch? Justifica la respuesta. c. Cómo podemos acceder al mensaje de error de una excepción? 22. Compara los niveles de visibilidad de Java y C#. Indica los valores por defecto que toman la visibilidad de una clase y las declaraciones dentro de una clase en ambos lenguajes. 23. Explica las diferencias de la operación clone en Java y C#. 24. En relación a Java y C#, responde a las cuestiones justificando las respuestas: a) Qué diferencias hay entre la interfaz Cloneable de Java y la interfaz ICloneable de C#? b) Qué diferencias hay entre un ensamblado en C# y un JAR de Java? 25. Sobre las excepciones: a) Para los lenguajes estudiados en la asignatura, escribe un manejador de excepciones que capture todas las excepciones que se puedan producir en un bloque de código try. Existe alguna restricción al declarar este manejador en un bloque try-catch? b) En C#, qué tipos de excepciones se utilizan para notificar el fallo en una precondición? 26. En relación a C++ y C#: a) Por qué en C++ no es necesario un mecanismo similar al Boxing/Unboxing de C#? Justifica la respuesta. b) Indica las diferencias entre los delegates de C# y los punteros a funciones de C Para los lenguajes estudiados en la asignatura, explica cómo funciona el mecanismo de destrucción de objetos. 28. En los lenguajes estudiados en la asignatura, en qué casos puede realizarse una conversión de tipos (casting). Explica cómo se realiza la conversión de tipos en Java y C# indicando las diferencias. 14

15 29. Igualdad y copia: a) Existe en C++ un método u operador equivalente al método MemberwiseClone de C#? Justifica la respuesta. b) Podríamos decir que la implementación por defecto del método Equals en C# es equivalente a la implementación por defecto del operador == en C++? Justifica la respuesta. 30. Indica si las siguientes afirmaciones son verdaderas o falsas justificando las respuestas: a) "En C++, sólo podemos disminuir la visibilidad de un método heredado si lo redefinimos". b) "El uso de modificadores de métodos como sealed en C# y final de Java va en contra del principio de diseño modular Abierto-Cerrado". 31. Métodos: a) Es equivalente declarar un método final en Java a declarar un método no virtual en C++? Justifica la respuesta. b) Qué diferencias hay al redefinir un método virtual en C++ y en C#? 32. Indica si las siguientes afirmaciones son verdaderas o falsas justificando las respuestas: a) En C++ todas las clases definidas en el ámbito de un espacio de nombres son públicas, es decir, pueden ser utilizadas en cualquier módulo si son importadas. b) La declaración de constantes en las interfaces C# es pública por defecto. c) El modificador de visibilidad protected es equivalente en Java y C#. 33. Gestión de objetos por valor: a) Explica las diferencias en C++ y C# al construir un objeto por valor. Indica también cómo se gestiona la liberación de la memoria de esos objetos en ambos lenguajes. b) Indica brevemente las limitaciones en la definición de estructuras frente a clases en C#. 34. Diseño por Contrato: a) Explica qué papel juega la postcondición en el Diseño por Contrato. b) Ilustra con un ejemplo cómo se representan y tratan las postcondiciones en los lenguajes estudiados en la asignatura. 15

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 Teórico Convocatoria de Junio de 2012

Examen Teórico Convocatoria de Junio de 2012 Examen Teórico Convocatoria de Junio de 2012 Nombre: DNI: Titulación: 1. Sobre el control de errores en Java: a) El siguiente método contiene un error de compilación debido al uso de excepciones. Explica

Más detalles

Examen Teórico. Convocatoria de Febrero de 2015

Examen Teórico. Convocatoria de Febrero de 2015 Examen Teórico Convocatoria de Febrero de 2015 Nombre: DNI: Grupo: 1. Contesta de forma razonada a las siguientes cuestiones relacionadas con los ficheros.jar: a) Para qué se utilizan los ficheros con

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

PROGRAMACIÓN ORIENTADA A OBJETOS 1/7/2009. Examen de Java. Nombre: DNI: Titulación:

PROGRAMACIÓN ORIENTADA A OBJETOS 1/7/2009. Examen de Java. Nombre: DNI: Titulación: Examen de Java Nombre: DNI: Titulación: 1. Sea una aplicación Java donde todas las clases están compiladas y empaquetas en un solo fichero JAR (programa.jar). Qué sería necesario para conseguir ejecutar

Más detalles

Examen Teórico. Convocatoria de Febrero de 2016

Examen Teórico. Convocatoria de Febrero de 2016 Examen Teórico Convocatoria de Febrero de 2016 Nombre: DNI: Grupo: 1. Responde a las siguientes cuestiones: a) Un programador Java empaqueta el código de un proyecto en el fichero videojuego.jar cuya clase

Más detalles

PROGRAMACIÓN ORIENTADA A OBJETOS 10/02/2009. Examen de Java. Nombre: DNI: Titulación:

PROGRAMACIÓN ORIENTADA A OBJETOS 10/02/2009. Examen de Java. Nombre: DNI: Titulación: Examen de Java Nombre: DNI: Titulación: 1. Cómo podemos compilar desde la línea de comandos la clase Java A que utiliza una librería empaquetada bd.jar? 2. Indica si es correcto el siguiente código. Justifica

Más detalles

Tema 3: Herencia en C# Programación Orientada a Objetos Curso 2008/2009 Begoña Moros Valle

Tema 3: Herencia en C# Programación Orientada a Objetos Curso 2008/2009 Begoña Moros Valle Tema 3: Herencia en C# Programación Orientada a Objetos Curso 2008/2009 Begoña Moros Valle Contenido Herencia. Polimorfismo y ligadura. Clase object. Casting. Compatibilidad de tipos. Clases abstractas.

Más detalles

Examen Teórico. Convocatoria de Febrero de 2018

Examen Teórico. Convocatoria de Febrero de 2018 Examen Teórico Convocatoria de Febrero de 2018 Nombre: DNI: Grupo: 1. Dado un proyecto Java en Eclipse que tiene como clase principal proyecto.programa y requiere de la librería matemática de Apache commons-math.jar,

Más detalles

Tema 3 Herencia en Java Parte 2. Programación Orientada a Objetos Curso 2015/2016

Tema 3 Herencia en Java Parte 2. Programación Orientada a Objetos Curso 2015/2016 Tema 3 Herencia en Java Parte 2 Programación Orientada a Objetos Contenido Restringir la herencia. Visibilidad protegida. Clases abstractas. Interfaces. Clase Object. Autoboxing. Copia de objetos. Igualdad

Más detalles

Programación orientada a objetos

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

Más detalles

Tema 3 Herencia en Java Parte 2. Programación Orientada a Objetos Curso 2015/2016

Tema 3 Herencia en Java Parte 2. Programación Orientada a Objetos Curso 2015/2016 Tema 3 Herencia en Java Parte 2 Programación Orientada a Objetos Contenido Restringir la herencia. Visibilidad protegida. Clases abstractas. Clase Object. Autoboxing. Igualdad de objetos. Copia de objetos.

Más detalles

Tema 3 Herencia en Java Parte 1. Programación Orientada a Objetos Curso 2015/2016

Tema 3 Herencia en Java Parte 1. Programación Orientada a Objetos Curso 2015/2016 Tema 3 Herencia en Java Parte 1 Programación Orientada a Objetos Contenido Introducción. Definición y tipos. Constructores. Redefinición. Polimorfismo. Herencia y sistema de tipos. Ligadura dinámica. Casting

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

Diseño de tipos Igualdad, representación, código, copia y relación de orden

Diseño de tipos Igualdad, representación, código, copia y relación de orden Práctica 4 Diseño de tipos Igualdad, representación, código, copia y relación de orden Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Versión 1.0.1 Índice Gestión de excepciones

Más detalles

PROGRAMACIÓN EN JAVA. { una línea para definir, crear o ejecutar ; }

PROGRAMACIÓN EN JAVA. { una línea para definir, crear o ejecutar ; } PROGRAMACIÓN EN JAVA { una línea para definir, crear o ejecutar ; } JFC Y API SPECIFICATIONS OBJECT INTERFACE ABSTRACT IMPLEMENTS EXTENDS NEW EXTENDS (Hasta que una clase derivada deje de ser ABSTRACT)

Más detalles

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

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

Más detalles

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

Tema 1. Herencia y Polimorfismo

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

Práctica 2. Reutilización de código Elementos básicos del lenguaje Java Definición de variables, expresiones y asignaciones

Práctica 2. Reutilización de código Elementos básicos del lenguaje Java Definición de variables, expresiones y asignaciones Práctica 2 Reutilización de código Elementos básicos del lenguaje Java Definición de variables, expresiones y asignaciones Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos

Más detalles

2. Tratamiento de objetos con JAVA

2. Tratamiento de objetos con JAVA 2. Tratamiento de objetos con JAVA David Contreras Bárcena (ETSI) - Comillas 71 2.1 Ciclo de Vida de los Objetos Los objetos tienen un tiempo de vida y consumen recursos durante el mismo. Cuando un objeto

Más detalles

Curso de Java POO: Programación orientada a objetos

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

Más detalles

Tema 6 Patrones de Diseño. Programación Orientada a Objetos Curso 2010/2011

Tema 6 Patrones de Diseño. Programación Orientada a Objetos Curso 2010/2011 Tema 6 Patrones de Diseño Programación Orientada a Objetos Curso 2010/2011 Contenido Introducción a los patrones de diseño. Patrón del Método plantilla. Patrón Composición. Patrón Estrategia. Clases anónimas

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 Módulos en C++: Clases Estructuras (struct) Espacios de nombres (namespace) Semántica

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

HERENCIA (2ª parte) En Java todas las clases derivan de otra, aunque no se diga explícitamente.

HERENCIA (2ª parte) En Java todas las clases derivan de otra, aunque no se diga explícitamente. HERENCIA (2ª parte) Lenguajes de Programación - Orientación a Objetos: Herencia 2ª parte 1 Object En Java todas las clases derivan de otra, aunque no se diga explícitamente. Object: Es el nombre de la

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

Definición. Mónica E. García García Feb 07

Definición. Mónica E. García García Feb 07 Tema 11: Herencia 0 Definición Cuando inicialmente se modelan dos cosas y se tienen datos duplicados y además pudiera darse que el número de métodos también es similar así como la implementación, se requiere

Más detalles

Tema 5 Corrección y Robustez Excepciones en Java

Tema 5 Corrección y Robustez Excepciones en Java Tema 5 Corrección y Robustez Excepciones en Java Parte II: Excepciones en Java Programación Orientada a Objetos Curso 2013/2014 Contenido Introducción Excepciones comprobadas Caso de estudio Tratamiento

Más detalles

Tema 3 Herencia. Primera parte. Herencia en Java Programación Orientada a Objetos Curso 2010/2011

Tema 3 Herencia. Primera parte. Herencia en Java Programación Orientada a Objetos Curso 2010/2011 Tema 3 Herencia Primera parte. Herencia en Java Programación Orientada a Objetos Contenido Introducción. Definición y tipos. Constructores. Redefinición. Restringir la herencia. Visibilidad protegida.

Más detalles

Tema 2: Clases y Objetos en Java. Programación Orientada a Objetos Curso 2010/2011

Tema 2: Clases y Objetos en Java. Programación Orientada a Objetos Curso 2010/2011 Tema 2: Clases y Objetos en Java Programación Orientada a Objetos Curso 2010/2011 Contenido Clases. Objetos. Tipos del lenguaje. Relación de clientela. Semántica referencia. Métodos y mensajes. Instancia

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

Concurso: Cuánto sabes de JAVA?

Concurso: Cuánto sabes de JAVA? Concurso: Cuánto sabes de JAVA? Motivación: o Para cambiar el ritmo de las jornadas y que no todas las actividades sean charlas o Recordar conocimientos y aprender algo nuevo. o Las preguntas pueden ayudarnos

Más detalles

Centro Asociado Palma de Mallorca. Antonio Rivero Cuesta

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

Más detalles

HOJA DE EJERCICIOS 5 PROGRAMACIÓN CON EXCEPCIONES EN JAVA

HOJA DE EJERCICIOS 5 PROGRAMACIÓN CON EXCEPCIONES EN JAVA Estructura de la Información en Programación I.T.I.G., Matemáticas. Curso 2008/2009 Nombre:... Fecha: / 01 / 2009 HOJA DE EJERCICIOS 5 PROGRAMACIÓN CON EXCEPCIONES EN JAVA Esta hoja de ejercicios nos servirá

Más detalles

18. Interfaces Declaración de una interfaz

18. Interfaces Declaración de una interfaz Programación orientada a objetos con Java 191 18. Interfaces Objetivos: a) Definir el concepto de interfaz b) Interpretar el código fuente de una aplicación Java donde aparecen interfaces c) Construir

Más detalles

Centro Asociado Palma de Mallorca. Antonio Rivero Cuesta

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

Más detalles

Diseño y Programación Orientados a Objetos 29 de Abril de Primer Certamen

Diseño y Programación Orientados a Objetos 29 de Abril de Primer Certamen Primer Certamen Primera parte, sin apuntes (30 minutos; 1/3 de la nota): 1.- Responda brevemente y entregue en hoja con su nombre. a. Al redefinir un método en una subclase, es posible retornar un objeto

Más detalles

Curso de Java POO: Programación orientada a objetos

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

Más detalles

Programación orientada a objetos 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

16. Herencia Definición de herencia. 168 A. García-Beltrán y J.M. Arranz

16. Herencia Definición de herencia. 168 A. García-Beltrán y J.M. Arranz 168 A. García-Beltrán y J.M. Arranz 16. Herencia Objetivos: a) Definir el concepto de herencia entre clases b) Interpretar el código fuente de una aplicación Java donde aparecen clases relacionadas mediante

Más detalles

UNIDAD 4 IMPLEMENTACION DE PROPIEDADES DE LOS OBJETOS JAVA

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

Más detalles

Características Avanzadas en C# Programación Orientada a Objetos Curso 2008/2009 Begoña Moros Valle

Características Avanzadas en C# Programación Orientada a Objetos Curso 2008/2009 Begoña Moros Valle Características Avanzadas en C# Programación Orientada a Objetos Curso 2008/2009 Begoña Moros Valle Características avanzadas C# incluye características destacadas que no se incluyen en otros lenguajes

Más detalles

Tema 4: Corrección y Robustez en C++ Programación Orientada a Objetos Curso 2008/2009 Begoña Moros Valle

Tema 4: Corrección y Robustez en C++ Programación Orientada a Objetos Curso 2008/2009 Begoña Moros Valle Tema 4: Corrección y Robustez en C++ Programación Orientada a Objetos Curso 2008/2009 Begoña Moros Valle Contenido Asertos en C++ Mecanismo de excepciones: Declaración de excepciones Lanzar excepciones

Más detalles

Unidad Didáctica 3. Tipos genéricos. Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos

Unidad Didáctica 3. Tipos genéricos. Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Unidad Didáctica 3 Tipos genéricos Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Definición de tipo genérico Hablamos de un tipo genérico cuando el tipo en cuestión depende

Más detalles

Construcciones del Lenguaje Java

Construcciones del Lenguaje Java Construcciones del Lenguaje Java Autor: Juan Alberto López Cavallotti Versión de Java: 5 / 6 Comentarios Comentario de Línea Comentario Multilínea //Esto es un comentario. /* Esto comenta varias lineas.

Más detalles

Agradecimientos. Nota de los autores. 1 Problemas, algoritmos y programas 1

Agradecimientos. Nota de los autores. 1 Problemas, algoritmos y programas 1 Prologo Agradecimientos Nota de los autores Índice general I III V VII 1 Problemas, algoritmos y programas 1 1.1 Programas y la actividad de la programación.................... 4 1.2 Lenguajes y modelos

Más detalles

TECNICAS DE PROGRAMACION Universidad Católica Los Angeles de Chimbote MODIFICADORES DE ACCESO A LOS MIEMBROS DE UNA CLASE

TECNICAS DE PROGRAMACION Universidad Católica Los Angeles de Chimbote MODIFICADORES DE ACCESO A LOS MIEMBROS DE UNA CLASE MODIFICADORES DE ACCESO A LOS MIEMBROS DE UNA CLASE Los modificadores de acceso, como su nombre indica, determinan desde qué clases se puede acceder a un determinado elemento. En Java tenemos 4 tipos:

Más detalles

Parte I: Programación en un lenguaje orientado a objetos

Parte I: Programación en un lenguaje orientado a objetos Parte I: Programación en un lenguaje orientado a objetos 1. Introducción a los lenguajes de programación 2. Datos y expresiones 3. Estructuras algorítmicas 4. Datos compuestos 5. Modularidad 6. Tratamiento

Más detalles

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

CLAVE EXAMEN: a cd. c u r s o r = c u r s o r. g e t S i g u i e n t e ( ) ; p o s i c i o n ++;

CLAVE EXAMEN: a cd. c u r s o r = c u r s o r. g e t S i g u i e n t e ( ) ; p o s i c i o n ++; Departamento de Lenguajes y Sistemas Informáticos e Ingeniería del Software UPM ETSIINF. Exámen de Programación II. Convocatoria extraordinaria.08-07-2016. Realización: El test se realizará en la hoja

Más detalles

Herencia: relación es un

Herencia: relación es un Departamento de Sistemas Informáticos y Computación Universidad Complutense de Madrid de abril de 007 : relación es un I Seres materiales Seres inertes Seres vivos Coches Plantas Animales Renault Flores

Más detalles

Tema 6: Programación Orientada a Objetos en C++ Programación Orientada a Objetos Curso 2013/2014

Tema 6: Programación Orientada a Objetos en C++ Programación Orientada a Objetos Curso 2013/2014 Tema 6: Programación Orientada a Objetos en C++ Programación Orientada a Objetos Curso 2013/2014 Contenido (1/3) Introducción. Definición de clases. Visibilidad y clases amigas. Espacios de nombres. Tipos

Más detalles

PARTE TEÓRICA - TEST [2,5 PUNTOS]:

PARTE TEÓRICA - TEST [2,5 PUNTOS]: UNIVERSIDAD NACIONAL DE EDUCACIÓN A DISTANCIA ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA INFORMÁTICA 71901072 PROGRAMACIÓN ORIENTADA A OBJETOS (GRADO EN INGENIERÍA INFORMÁTICA / TECNOLOGÍAS DE LA INFORMACIÓN)

Más detalles

Clases abstractas e interfaces en Java

Clases abstractas e interfaces en Java Clases abstractas e interfaces en Java Clases abstractas public abstract class Figura { private String _nombre; public Figura (string nombre) { _nombre = nombre; final public boolean mayor_que (Figura

Más detalles

Colas Implementación con gestión estática de memoria

Colas Implementación con gestión estática de memoria Colas Implementación con gestión estática de memoria Esquema general 0 1 2 3 n - 1... _primero = 0 _ultimo = 0 Esquema general * Añadir un elemento a la cola. 0 1 2 3 n - 1 'a'... 1) _vector[_ultimo] =

Más detalles

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

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

Más detalles

Guía práctica de estudio 08: Polimorfismo

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

Más detalles

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

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

Más detalles

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

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

Herencia y Polimorfismo

Herencia y Polimorfismo Herencia y Polimorfismo Dra. Maricela Bravo Universidad Autónoma Metropolitana Unidad Azcapotzalco 1 Herencia en el mundo real Cosa Medio de telecomunicación Medio de transporte Coche Vehiculo aéreo Objeto

Más detalles

Java en 2 horas. Rodrigo Santamaría

Java en 2 horas. Rodrigo Santamaría Java en 2 horas Rodrigo Santamaría Generalidades 2 Desarrollado por Hereda mucha de la sintaxis de C (1972) Fuertemente tipado y orientado a objetos Aplicaciones compiladas a bytecode Gestión interna de

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

Herencia y Clases Abstractas

Herencia y Clases Abstractas Herencia y Clases Abstractas Reutilización de código y código genérico ELO329: Diseño y Programación Orientados a Objetos Introducción La idea básica es poder crear clases basadas en clases ya existentes.

Más detalles

Fundamentos de Computadores y Lenguajes

Fundamentos de Computadores y Lenguajes Fundamentos de Computadores y Lenguajes 1. Elementos básicos de los lenguajes 2. Instrucciones de control 3. Tipos de datos 4. Métodos 5. Modularidad y Abstracción 6. Tratamiento de errores 7. Entrada/salida

Más detalles

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

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

Algoritmos y Estructuras de Datos Ingeniería en Informática, Curso 2º SEMINARIO DE C++ Sesión 3 Algoritmos y Estructuras de Datos Ingeniería en Informática, Curso 2º SEMINARIO DE C++ Sesión 3 Contenidos: 1. Funciones y clases genéricas 2. Excepciones 3. Asertos 4. El puntero this 5. Redefinición

Más detalles

Carlos Montenegro. Programación Orientada a Objetos Proyecto Curricular de Ingeniería de Sistemas

Carlos Montenegro. Programación Orientada a Objetos Proyecto Curricular de Ingeniería de Sistemas 2 - Introducción al lenguaje Java, identificadores y comentarios. Carlos Montenegro Programación Orientada a Objetos Proyecto Curricular de Ingeniería de Sistemas 1. Introducción: Java tiene como todos

Más detalles

Tema 2: Clases y Objetos. Programación Orientada a Objetos Curso 2015/2016

Tema 2: Clases y Objetos. Programación Orientada a Objetos Curso 2015/2016 Tema 2: Clases y Objetos Programación Orientada a Objetos Curso 2015/2016 Contenido Clases. Objetos. Tipos del lenguaje. Relación de clientela. Semántica referencia. Métodos y mensajes. Instancia actual.

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

Herencia. Implementación en Java

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

Más detalles

PRÁCTICA 6 REPASO TEMAS 1 Y 2

PRÁCTICA 6 REPASO TEMAS 1 Y 2 Estructura de la Información en Programación I.T.I.G., Matemáticas. Curso 2009/2010 Nombre:... Fecha: / 11 / 2009 Grupo: 1 2 3 4 PRÁCTICA 6 REPASO TEMAS 1 Y 2 En esta práctica se realizará un repaso de

Más detalles

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

Herencia Java y Servicios Web I Master en Ingeniería Matemática Herencia 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 Extensión mediante herencia.

Más detalles

Reutilización con Delegación y Herencia

Reutilización con Delegación y Herencia Reutilización con Delegación y Herencia Carlos Fontela cfontela@fi.uba.ar Temario Delegación Herencia UML: clases, paquetes, secuencias Cuándo usar herencia y cuándo delegación Redefinición Clases abstractas

Más detalles

Test : Conteste exclusivamente en una HOJA DE LECTURA ÓPTICA, no olvidando marcar que su tipo de examen es A.

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

PROGRAMACIÓN GENÉRICA

PROGRAMACIÓN GENÉRICA PROGRAMACIÓN GENÉRICA Lenguajes de Programación - Orientación a Objetos: Progr. Genérica 1 Programación genérica Objetivo: escribir algoritmos genéricos, independientes de las clases concretas de los datos

Más detalles

Derechos de Acceso: COMPOSICION

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

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

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

Más detalles

Estructuras de control selectivas

Estructuras de control selectivas Práctica 3 Estructuras de control selectivas Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Versión 2.0.2 Concepto de sentencia y estructura de control El cuerpo de los métodos

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

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

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

Tema 2: Clases y Objetos. Programación Orientada a Objetos Curso 2017/2018

Tema 2: Clases y Objetos. Programación Orientada a Objetos Curso 2017/2018 Tema 2: Clases y Objetos Programación Orientada a Objetos Curso 2017/2018 Contenido Clases. Objetos. Tipos del lenguaje. Relación de clientela. Semántica referencia. Métodos y mensajes. Instancia actual.

Más detalles

FACULTAD DE ECONOMIA Y ADMINISTRACION DEPARTAMENTO DE CIENCIAS DE LA COMPUTACION CÁTEDRA PROGRAMACION GENERAL. Trabajo Práctico Nº 4

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

EJERCICIO Y EJEMPLO RESUELTO: USO DE LA INTERFAZ CLONEABLE DE JAVA. MÉTODO CLONE() PARA CLONAR OBJETOS. (CU00912C)

EJERCICIO Y EJEMPLO RESUELTO: USO DE LA INTERFAZ CLONEABLE DE JAVA. MÉTODO CLONE() PARA CLONAR OBJETOS. (CU00912C) APRENDERAPROGRAMAR.COM EJERCICIO Y EJEMPLO RESUELTO: USO DE LA INTERFAZ CLONEABLE DE JAVA. MÉTODO CLONE() PARA CLONAR OBJETOS. (CU00912C) Sección: Cursos Categoría: Lenguaje de programación Java nivel

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

OOP 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++ 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 detalles

Índice PRÓLOGO... XVII CAPÍTULO 1. FUNDAMENTOS DE JAVA Características de Java Origen y evolución... 1

Índice PRÓLOGO... XVII CAPÍTULO 1. FUNDAMENTOS DE JAVA Características de Java Origen y evolución... 1 Índice PRÓLOGO... XVII CAPÍTULO 1. FUNDAMENTOS DE JAVA... 1 Características de Java... 1 Origen y evolución... 1 Principales características de Java... 2 Compilación de un programa Java... 2 Java Virtual

Más detalles

Herencia. Hay clases que comparten gran parte de sus características.

Herencia. Hay clases que comparten gran parte de sus características. Herencia Hay clases que comparten gran parte de sus características. El mecanismo conocido con el nombre de herencia permite reutilizar clases: Se crea una nueva clase que extiende la funcionalidad de

Más detalles

Tema 3 Herencia en Java Parte 2. Programación Orientada a Objetos Curso 2016/2017

Tema 3 Herencia en Java Parte 2. Programación Orientada a Objetos Curso 2016/2017 Tema 3 Herencia en Java Parte 2 Programación Orientada a Objetos Contenido Restringir la herencia. Clase Object. Autoboxing. Igualdad de objetos. Representación textual de objetos. Copia de objetos. Clases

Más detalles

Programación Tema 7: Relaciones entre clases. Programación DIT-UPM

Programación Tema 7: Relaciones entre clases. Programación DIT-UPM Programación Tema 7: Relaciones entre clases 1 Contenidos l Polimorfismo l Implementación de interfaces l Uso de interfaces l Jerarquías de interfaces l Extensión l Jerarquía de extensión 2 Polimorfismo

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

Tema 5 Corrección y Robustez Excepciones en Java

Tema 5 Corrección y Robustez Excepciones en Java Tema 5 Corrección y Robustez Excepciones en Java Parte I: Corrección del código Programación Orientada a Objetos Curso 2013/2014 Contenido Parte I: Corrección del código Introducción Excepciones runtime

Más detalles