Duda exámen pregunta 99

Temas relacionados con el examen de test.
RACHEL
Usuario registrado
Mensajes: 262
Registrado: 02 Dic 2009, 11:38
Agradecido: 0
Agradecimiento recibido: 0

Duda exámen pregunta 99

Mensaje por RACHEL »

"La capacidad de un objeto de una clase dada A de aparecer y comportarse como si fuera de la clase B"

La verdad es que estoy bastante desconcertada con esta pregunta, ¿alguien sabe a qué se refiere?

Gracias. Un saludo!

cantimploro
PreparaTIC XXI
Mensajes: 1010
Registrado: 20 Jul 2010, 09:09
Agradecido: 0
Agradecimiento recibido: 0

Re: Duda exámen pregunta 99

Mensaje por cantimploro »

Supon que tienes una clase Persona con métodos comer, dormir, respirar.
Y luego tienes una clase Ingeniero, que hereda de Persona, y añade los métodos diseñar, construir, dirigir, ir al paro.

Si tienes un objeto de la clase Ingeniero, puedes hacerlo construir, pero también puedes hacerlo comer, porque mal que le pese a algunos, los ingenieros somos también personas. :)

Eso se llama polimorfismo y es a lo que se refiere la pregunta.

manolo99
Usuario registrado
Mensajes: 14
Registrado: 21 Oct 2008, 13:35
Agradecido: 0
Agradecimiento recibido: 0

Re: Duda exámen pregunta 99

Mensaje por manolo99 »

Eso se llama herencia. Polimorfismo es poder utilizar un mismo método de forma diferente. Extender el comportamiento de una clase, añadiendo tú un comportamiento adicional: herencia.

Avatar de Usuario
red_bit
PreparaTIC XXII
Mensajes: 135
Registrado: 12 May 2008, 23:14
Agradecido: 0
Agradecimiento recibido: 0

Re: Duda exámen pregunta 99

Mensaje por red_bit »

Basicamente la diferencia estaría en la implentación interna del metodo cobrar de dos objetos, uno de la clase directivo y otro de la clase ingeniero. El método cobrar de una instancia de la clase ingeniero opera con aritmética imaginaria. El método cobrar de una instancia de la clase directivo opera con cálculos de coma flotante.

manolo99
Usuario registrado
Mensajes: 14
Registrado: 21 Oct 2008, 13:35
Agradecido: 0
Agradecimiento recibido: 0

Re: Duda exámen pregunta 99

Mensaje por manolo99 »

Pues según la palntilla, efectivamente es polimorfismo...yo estaba convencido de que era herencia, no me convencía del todo lo de polimorfismo, pero me he colado...

cantimploro
PreparaTIC XXI
Mensajes: 1010
Registrado: 20 Jul 2010, 09:09
Agradecido: 0
Agradecimiento recibido: 0

Re: Duda exámen pregunta 99

Mensaje por cantimploro »

Que puedas crear la clase ingeniero derivandola de la de persona es herencia.

Que un objeto de la clase ingeniero pueda usar también métodos de la clase persona es polimorfismo.

Lo que tú dices, de que un mismo método se pueda usar de forma diferente (por ejemplo, si redefines el método dormir, porque los ingenieros no duermen igual que el resto de las personas), es sobrecarga (overloading).

Saludos.

(muy bueno lo de la aritmética imaginaria)

jdblazquez
Usuario registrado
Mensajes: 43
Registrado: 23 May 2008, 16:26
Agradecido: 0
Agradecimiento recibido: 0

Re: Duda exámen pregunta 99

Mensaje por jdblazquez »

RACHEL escribió:"La capacidad de un objeto de una clase dada A de aparecer y comportarse como si fuera de la clase B"

La verdad es que estoy bastante desconcertada con esta pregunta, ¿alguien sabe a qué se refiere?

Gracias. Un saludo!
Se trata de la definición de "polimorfismo" o la capacidad de una clase de adoptar comportamientos diferentes. Se suele implementar mediante sobrecarga de métodos.

Avatar de Usuario
red_bit
PreparaTIC XXII
Mensajes: 135
Registrado: 12 May 2008, 23:14
Agradecido: 0
Agradecimiento recibido: 0

Re: Duda exámen pregunta 99

Mensaje por red_bit »

jjajajajajja, que lio!!! :lol:

Yo pensaba que la sutil diferencia entre sobrecarga y polimorfismo es el hecho de que un mismo método con diferente funcionamiento aparezca en la misma clase o en diferentes. Me explico:

Un ingeniero tiene dos metodos dormir, uno en vacaciones y otro en calendario lectivo. Pero los dos metodo pertenecen a la clase ingeniero. Eso es para mi la sobrecarga.

Pero ingeniero y directivo tienen diferentes implementaciones del metodo cobrar, que en efecto puede ser una implementacion particular de una superclase persona. Eso es para mi el polimorfismo.

En cualquier caso admito que siempre me lio con estos conceptos.
Última edición por red_bit el 18 Oct 2010, 12:04, editado 1 vez en total.

manolo99
Usuario registrado
Mensajes: 14
Registrado: 21 Oct 2008, 13:35
Agradecido: 0
Agradecimiento recibido: 0

Re: Duda exámen pregunta 99

Mensaje por manolo99 »

cantimploro escribió:Que puedas crear la clase ingeniero derivandola de la de persona es herencia.

Que un objeto de la clase ingeniero pueda usar también métodos de la clase persona es polimorfismo.

Lo que tú dices, de que un mismo método se pueda usar de forma diferente (por ejemplo, si redefines el método dormir, porque los ingenieros no duermen igual que el resto de las personas), es sobrecarga (overloading).

Saludos.

(muy bueno lo de la aritmética imaginaria)
tienes toda la razón.

madtxl
Usuario registrado
Mensajes: 27
Registrado: 01 Abr 2009, 08:13
Agradecido: 0
Agradecimiento recibido: 0

Re: Duda exámen pregunta 99

Mensaje por madtxl »

En mi opinión esta pregunta se debería impugnar porque no tiene ningún sentido. El polimorfismo no consiste en aparecer y comportarse como de otra clase, sino en todo lo contrario: en proporcionar un comportamiento distinto a un método igual. Por cierto ¿no os suena todo esto un poco a "vamos a poner preguntas que sólo alguien previamente informado sepa responder"? ¿A qué viene lo del arseniuro de galio? A mí me suena a tongo retongo...

RACHEL
Usuario registrado
Mensajes: 262
Registrado: 02 Dic 2009, 11:38
Agradecido: 0
Agradecimiento recibido: 0

Re: Duda exámen pregunta 99

Mensaje por RACHEL »

totalmente de acuerdo, yo creo que el exámen lo han puesto para favorer a unos pocos, porque si no no tiene mucho sentido, y yo ya me creo cualquier cosa, porque como bien dices tú lo del arseniuro de galio es rarísimo. Bueno, ¿y lo de la telefonía móvil, en dónde está especificado eso?

En fin, otro año será...

Un saludo!

cantimploro
PreparaTIC XXI
Mensajes: 1010
Registrado: 20 Jul 2010, 09:09
Agradecido: 0
Agradecimiento recibido: 0

Re: Duda exámen pregunta 99

Mensaje por cantimploro »

Hombre, yo veo preguntas dudosas, no se si impugnables, y no respondí lo del arseniuro de galio. No me extrañaría que hubiera preguntas preparadas para "informados", de hecho me extrañaría lo contrario.

Pero no creo que sea esta pregunta el caso. Yo la tenía clarísima cuando la vi (eso no quiere decir mucho, otras también las tenía claras y las he cagado), y desde luego no me la ha contando nadie.

Si buscáis definiciones de polimorfismo hay varias. La que yo he dado (en la herencia) es una de ella.

Otra posible sería si dos objetos O1 y O2, de clases C1 y C2 respectivamente, ambos implementaran el mismo método m. Con el objeto de que yo pudiera asignar uno de estos objetos a una variable y llamar al método m sin saber a priori si el objeto que voy a asignar es de la clase C1 o la clase C2 (en lenguajes como C++ no lo sabríamos hasta tiempo de ejecución, esta función se llama "late binding". Esto también es polimorfismo, sin herencia implicada.

O podemos tener polimorfismo con sobrecarga, son conceptos distintos pero se pueden usar a la vez. Yo tengo una clase abstracta "figura" que tiene un método "calcular volumen". Luego tengo subclases "esfera" y "cubo" que ambas redefinen este método cada una a su manera. Aquí tengo polimorfismo, sobrecarga y herencia todo a la vez...

RACHEL
Usuario registrado
Mensajes: 262
Registrado: 02 Dic 2009, 11:38
Agradecido: 0
Agradecimiento recibido: 0

Re: Duda exámen pregunta 99

Mensaje por RACHEL »

no, esta pregunta no lo es, en mi parecer, lo que si que creo que está bastante mal redactada. Yo he acertado pero me surgieron bastantes dudas, y eso que creía que tenía bastante claro la definición de polimorfismo, he trabajado mucho con ello, y aún así tenía dudas.... :(

madtxl
Usuario registrado
Mensajes: 27
Registrado: 01 Abr 2009, 08:13
Agradecido: 0
Agradecimiento recibido: 0

Re: Duda exámen pregunta 99

Mensaje por madtxl »

Aún así, siguen siendo comportamientos distintos, no el mismo comportamiento. Sigo pensando que esa pregunta sobra. Yo no la respondía porque creía que ninguna de las respuestas era buena, y lo sigo pensando.

guspl
Usuario registrado
Mensajes: 17
Registrado: 06 Mar 2009, 12:31
Agradecido: 0
Agradecimiento recibido: 0

Re: Duda exámen pregunta 99

Mensaje por guspl »

Yo lo vi de la siguiente manera.

Toda subclase A1 es siempre instancia de una super clase A (relación de herencia) , luego A1 puede aparecer (por medio de conversión de tipos) y comportarse como A( por medio de la herencia ya que hereda su comportamiento y si no lo redefine, es el mismo) donde sea . Esto es posible luego la respuesta a) no es incorrecta.

El polimorfismo es un implementación de la herencia donde lo unico que cambia es que la clase base es abstracta y las subclases redefinen ( o implementan) el método heredado. Pero no deja de ser una herencia.

Luego la herencia es lo importante y lo que da lugar a todos esto desde mí punto de vista

Para mi esta es perfectamente impugnable.

Cerrado

Volver a “PRIMER EXAMEN 2010”