Foros-FIUBA Foros HostingPortal
 FAQ  •  Buscar  •  Wiki  •  Apuntes  •  Planet  •  Mapa  •  Eyeon  •  Chat
Preferencias  •  Grupos de Usuarios
Registrarse  •  Perfil  •  Entrá para ver tus mensajes privados  •  Login
Ver tema siguiente
Ver tema anterior

Responder al tema Ver tema anteriorEnviar por mail a un amigo.Mostrar una Lista de los Usuarios que vieron este TemaGuardar este Tema como un archivoPrintable versionEntrá para ver tus mensajes privadosVer tema siguiente
Autor Mensaje
Uciel
Nivel 6


Edad: 33
Registrado: 16 Ago 2010
Mensajes: 288

Carrera: Informática
argentina.gif
MensajePublicado: Jue May 02, 2013 7:32 pm  Asunto:  ¿como hago esto con un string? Responder citandoFin de la PáginaVolver arriba

Hola! Necesito ayuda infinita para este problema :S

El asunto es el siguiente:

Supongamos que tenemos la clase Vehiculo de las cuales heredan las clases Auto, Moto, Camion. Yo lo que voy a recibir es un string con el tipo de vehiculo, es decir 'auto' o 'moto' o 'camion'.

Y por otro lado tengo una clase llamada Garage, a la cual se le puede settear UNA INSTANCIA de Vehiculo (quiero usar polimorfismo). Si yo estoy recibiendo un string ¿exite alguna forma de poder instanciar las clases Auto, Moto o Camion apatir de este string?

PD: Al principio se me habia ocurrido usar IFs. Pero en clase me dijeron que estaba mal. Es decir habia puesto:

(nombreDelVehiculo = 'auto') ifTrue: [auto := Auto new]
(nombreDelVehiculo = 'moto') ifTrue: ['moto':= Motonew]
(nombreDelVehiculo = 'camion') ifTrue: ['camion':= Camion new]

Saludos Smile


Tauro Género:Masculino Caballo OfflineGalería Personal de UcielVer perfil de usuarioEnviar mensaje privado
koreano
Nivel 9



Registrado: 15 Jul 2010
Mensajes: 1796

Carrera: No especificada
blank.gif
MensajePublicado: Jue May 02, 2013 8:27 pm  Asunto:  (Sin Asunto) Responder citandoFin de la PáginaVolver arriba

No entiendo, vos quereés hacer que Garage tome un Vehiculo en ese metodo.. Auto, Moto y Camion heredan de Vehiculo. Después donde entra el string?


   OcultoGalería Personal de koreanoVer perfil de usuarioEnviar mensaje privado
Dargor
Nivel 3



Registrado: 19 Abr 2012
Mensajes: 28

Carrera: Electrónica
blank.gif
MensajePublicado: Jue May 02, 2013 8:51 pm  Asunto:  (Sin Asunto) Responder citandoFin de la PáginaVolver arriba

Usá un diccionario. Que de claves tenga 'auto', 'moto' y 'camion', y que guarden de valor objetos Auto, Moto y Camion respectivamente.


 Género:Masculino  OfflineGalería Personal de DargorVer perfil de usuarioEnviar mensaje privado
_nacho_
Nivel 9



Registrado: 08 Oct 2007
Mensajes: 1271

Carrera: No especificada
uruguay.gif
MensajePublicado: Jue May 02, 2013 11:00 pm  Asunto:  (Sin Asunto) Responder citandoFin de la PáginaVolver arriba

koreano escribió:
No entiendo, vos quereés hacer que Garage tome un Vehiculo en ese metodo.. Auto, Moto y Camion heredan de Vehiculo. Después donde entra el string?


Creo que la idea es que Garaje devuelva un Vehículo, pero que uno le pueda pedir qué tipo de vehículo sea.

_________________

 Género:Masculino  OfflineGalería Personal de _nacho_Ver perfil de usuarioEnviar mensaje privado
koreano
Nivel 9



Registrado: 15 Jul 2010
Mensajes: 1796

Carrera: No especificada
blank.gif
MensajePublicado: Vie May 03, 2013 1:15 am  Asunto:  (Sin Asunto) Responder citandoFin de la PáginaVolver arriba

Smalltalk tiene RTTI seguro, pasa que la documentacion está peluda


   OcultoGalería Personal de koreanoVer perfil de usuarioEnviar mensaje privado
Hige
Nivel 3


Edad: 34
Registrado: 11 Oct 2009
Mensajes: 58
Ubicación: Longchamps
Carrera: Informática
japan.gif
MensajePublicado: Vie May 03, 2013 1:59 am  Asunto:  (Sin Asunto) Responder citandoFin de la PáginaVolver arriba

_nacho_ escribió:
koreano escribió:
No entiendo, vos quereés hacer que Garage tome un Vehiculo en ese metodo.. Auto, Moto y Camion heredan de Vehiculo. Después donde entra el string?


Creo que la idea es que Garaje devuelva un Vehículo, pero que uno le pueda pedir qué tipo de vehículo sea.


Creo que es lo que dice Nacho. Osea básicamente usar el patrón "Factory". Después si Auto, Moto y Camión son lo mismo lo único que haces es asignar en el objeto Vehículo el tipo (que a fines prácticos no te interesa y es asignar el string al correspondiente atributo). Si tenes que hacer que tengan comportamientos distintos, usas algo parecido a lo que dijo Dargor

Dargor escribió:
Usá un diccionario. Que de claves tenga 'auto', 'moto' y 'camion', y que guarden de valor objetos Auto, Moto y Camión respectivamente.


Pero en el diccionario guardas el comportamiento que diferencia a Auto Moto y Camión. Ahí estas usando el patrón "Strategy". Supongo que es eso, por lo que decís y la altura del cuatrimestre eso estarán dando. Espero que te sirva.

_________________
_*Image*_
Image

Aries Género:Masculino Caballo OfflineGalería Personal de HigeVer perfil de usuarioEnviar mensaje privado
Uciel
Nivel 6


Edad: 33
Registrado: 16 Ago 2010
Mensajes: 288

Carrera: Informática
argentina.gif
MensajePublicado: Vie May 03, 2013 4:43 am  Asunto:  (Sin Asunto) Responder citandoFin de la PáginaVolver arriba

Entonces uso un diccionario??

la verdad es que nunca lo use :s nos mencionaron algo en a&pII pero no vimos nada de como implementarlo Sad

seria cuestion de investigar


Tauro Género:Masculino Caballo OfflineGalería Personal de UcielVer perfil de usuarioEnviar mensaje privado
Uciel
Nivel 6


Edad: 33
Registrado: 16 Ago 2010
Mensajes: 288

Carrera: Informática
argentina.gif
MensajePublicado: Vie May 03, 2013 4:47 am  Asunto:  (Sin Asunto) Responder citandoFin de la PáginaVolver arriba

con respecto al patron factory todavia no lo vimos. Aunque el strategy si!

con respecto a lo que dijo nacho: ' que uno le pueda pedir qué tipo de vehículo sea.'

cuando decis ¡que tipo? te referis a tipo de clase? Porque segun en clase esta mal preguntar de que tipo es un objeto


Tauro Género:Masculino Caballo OfflineGalería Personal de UcielVer perfil de usuarioEnviar mensaje privado
danie87
Nivel 5


Edad: 36
Registrado: 14 Feb 2010
Mensajes: 193
Ubicación: 34.5934°S 58.4445°W
Carrera: Informática
CARRERA.informatica.3.jpg
MensajePublicado: Vie May 03, 2013 8:34 am  Asunto:  (Sin Asunto) Responder citandoFin de la PáginaVolver arriba

Coincido con Hige


Aquario Género:Masculino Gato OfflineGalería Personal de danie87Ver perfil de usuarioEnviar mensaje privado
Dargor
Nivel 3



Registrado: 19 Abr 2012
Mensajes: 28

Carrera: Electrónica
blank.gif
MensajePublicado: Vie May 03, 2013 12:43 pm  Asunto:  (Sin Asunto) Responder citandoFin de la PáginaVolver arriba

En smalltalk ya están implementados, busca la clase Dictionary :P
Igual creo que lo que necesitas es mas lo que dice Hige, en smalltalk podes almacenar objetos en un diccionario pero no funciones, o sea podrías almacenar un objeto auto que hayas creado, pero no la función Auto new.


 Género:Masculino  OfflineGalería Personal de DargorVer perfil de usuarioEnviar mensaje privado
Uciel
Nivel 6


Edad: 33
Registrado: 16 Ago 2010
Mensajes: 288

Carrera: Informática
argentina.gif
MensajePublicado: Vie May 03, 2013 8:40 pm  Asunto:  (Sin Asunto) Responder citandoFin de la PáginaVolver arriba

Perfecto!! Ya lo estoy usando. Ademas un ayudante de catedra tambien me recomendo usar diccionarios. Y como bien dijo Dargor, en smalltalk ya tenes definida la clase Dictionary. Yo pense que tenia que implentarlo y toda la bola :S.

Buscando en internet, encontre un mini apunte de diccionarios en smalltalk. Lo paso para futuras personas que vean el "topic" y se les presente la misma duda:

http://www.google.com.ar/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&cad=rja&ved=0CDEQFjAA&url=http%3A%2F%2Fpbarrientos.blog.unq.edu.ar%2Fmodules%2Fdocmanager%2Fget_file.php%3Fcurent_file%3D188%26curent_dir%3D8&ei=HFeEUeDbIIfW8gTErYCgAw&usg=AFQjCNEpWCAXLkuRpDWQ1Pfs6P5259i2CQ&sig2=topr0ZVkd-xR3YRPrOTt9A&bvm=bv.45960087,d.eWU

Saludos y gracias a todos por la ayuda Smile


Tauro Género:Masculino Caballo OfflineGalería Personal de UcielVer perfil de usuarioEnviar mensaje privado
Mostrar mensajes de anteriores:      
Responder al tema Ver tema anteriorEnviar por mail a un amigo.Mostrar una Lista de los Usuarios que vieron este TemaGuardar este Tema como un archivoPrintable versionEntrá para ver tus mensajes privadosVer tema siguiente

Ver tema siguiente
Ver tema anterior
Podés publicar nuevos temas en este foro
No podés responder a temas en este foro
No podés editar tus mensajes en este foro
No podés borrar tus mensajes en este foro
No podés votar en encuestas en este foro
No Podéspostear archivos en este foro
No Podés bajar archivos de este foro


Todas las horas son ART, ARST (GMT - 3, GMT - 2 Horas)
Protected by CBACK CrackerTracker
365 Attacks blocked.

Powered by phpBB2 Plus, phpBB Styles and Kostenloses Forum based on phpBB © 2001/6 phpBB Group :: FI Theme :: Mods y Créditos

Foros-FIUBA está hosteado en Neolo.com Cloud Hosting

[ Tiempo: 0.2146s ][ Pedidos: 20 (0.1579s) ]