Donar $20 Donar $50 Donar $100 Donar mensualmente
 


Enviar respuesta 
 
Calificación:
  • 0 votos - 0 Media
  • 1
  • 2
  • 3
  • 4
  • 5
Buscar en el tema
Duda Objetos
Autor Mensaje
c'thun Sin conexión
Militante
Sin estado :(
***

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 95
Agradecimientos dados: 78
Agradecimientos: 3 en 3 posts
Registro en: Mar 2013
Mensaje: #1
Duda Objetos Dudas y recomendaciones Paradigmas de Programación
Hola tengo la siguiente duda, tengo un objeto y un método necesito que el metodo devuelva un mensaje de otro objeto, ej:
objeto1: ecologica
objeto2: turbinas
el método(que pertenece a "ecologica") seria asi:
produccion
^turbinas sum.

cómo se tendira que hacer? porque turbinas me lo toma como si fuera una referencia y no otro objeto, si lo hago con un parametro por ej
produccion: unaTurbina.
^ unaTurbina sum.

funciona joya pero es muy al pedo porque siempre va a operar con el mismo objeto.

Gracias.
11-09-2014 23:29
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
cplhenderson Sin conexión
Militante
OMG Todo menos Fiorante T__T
***

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 74
Agradecimientos dados: 11
Agradecimientos: 12 en 12 posts
Registro en: May 2011
Mensaje: #2
RE: Duda Objetos
en la primer solución para que funcione tenes que tener dentro de "ecologica" un atributo tipo "turbinas" (se intuye que es una colección) donde le pasas la referencia de turbinas algo como:

turbinas:unasTurbinas
turbinas:=unasTurbinas

y ahí si podes hacer ...

produccion
^turbinas sum

Sin embargo, es mucho mas correcto hacer lo segundo, podrias delegar y hacer un metodo dentro de turbinas que devuelva la suma que necesitas y haces algo asi:

#ecologica
produccion: unaTurbina
^ unaTurbina suProduccion

#turbinas
suProduccion
^self sum
11-09-2014 23:42
Envíale un email Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
[-] cplhenderson recibio 1 Gracias por este post
c'thun (12-09-2014)
odin Sin conexión
Empleado de Fotocopiadora
Sin estado :(
**

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 38
Agradecimientos dados: 2
Agradecimientos: 11 en 11 posts
Registro en: May 2011
Mensaje: #3
RE: Duda Objetos
turbinas debe ser un atributo de ecologica para usarlo así, si no, no es reutilizable y solo podes tener una sola "turbinas" en todo el programa
vos ahi lo queres usar como una instancia de otro objeto, y ya le decis que nombre debe tener la instancia, se puede hacer, pero no te sirve si otra instancia de ecologica, usa una "turbinas2" por ejemplo
11-09-2014 23:54
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
[-] odin recibio 1 Gracias por este post
c'thun (12-09-2014)
c'thun Sin conexión
Militante
Sin estado :(
***

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 95
Agradecimientos dados: 78
Agradecimientos: 3 en 3 posts
Registro en: Mar 2013
Mensaje: #4
RE: Duda Objetos
(11-09-2014 23:42)cplhenderson escribió:  en la primer solución para que funcione tenes que tener dentro de "ecologica" un atributo tipo "turbinas" (se intuye que es una colección) donde le pasas la referencia de turbinas algo como:

turbinas:unasTurbinas
turbinas:=unasTurbinas

y ahí si podes hacer ...

produccion
^turbinas sum

Sin embargo, es mucho mas correcto hacer lo segundo, podrias delegar y hacer un metodo dentro de turbinas que devuelva la suma que necesitas y haces algo asi:

#ecologica
produccion: unaTurbina
^ unaTurbina suProduccion

#turbinas
suProduccion
^self sum

Si es una colección, pero cuando voy a crear un nuevo método no me deja porque dice que las "colecciones no son modificables", gracias a ambos por contestar!
12-09-2014 02:15
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
Desert69 Sin conexión
Presidente del CEIT
Sin estado :( / "Anarquia...
********

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 2.396
Agradecimientos dados: 202
Agradecimientos: 297 en 186 posts
Registro en: Jun 2008
Mensaje: #5
RE: Duda Objetos
Estás usando Ozono (el Object Browser), ¿no?

Digo, porque es distinto a "Smalltalk posta" en algunas cosas.


Y, fuera de joda: me encanta UTNianos, pero me parece un crimen mandar consultas de PdeP a algún lado que no sea la lista de pdep. Hay tantos tan grosos con tantas ganas de contestar y tirarte la posta allá...

[Imagen: a2.php]
[Imagen: 971aa6599664453c05cb3e42d58bbc0eo.jpg]
12-09-2014 02:23
Visita su sitio web Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
Martin. Sin conexión
Presidente del CEIT
Enjoy it !
********

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 1.351
Agradecimientos dados: 85
Agradecimientos: 241 en 125 posts
Registro en: Oct 2011
Mensaje: #6
RE: Duda Objetos
Acá también somos muy grosos y poder tirarte la posta! =P

[Imagen: jQJfyBGh9SOmZ.png]
12-09-2014 09:23
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
Diego Pedro Sin conexión
Secretario de la SAE
que calor no?
******

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 631
Agradecimientos dados: 23
Agradecimientos: 105 en 48 posts
Registro en: May 2011
Mensaje: #7
RE: Duda Objetos
Primero que todo en objetos, todo es un objeto, así que esa referencia que decis que es, es una referencia a un objeto. Es que me parece que estás confundiendo lo que es un atributo o una referencia interna de un objeto a lo que es un objeto que apunta a otro. Vos tenés que pensar en tu ambiente y a partir de eso resolver el problema. Es decir:

Vos tenés una ecológica que tiene ciertas turbinas, por lo tanto vos lo que vas a tener que hacer es en ecológica vas a crear una referencia a una colección de turbinas, y vas a tener que ir agregándole turbinas...es decir, tendrías que crear un método que sea,

#ecologica >> agregarTurbina: unaTurbina
turbinas add: unaTurbina

Eso te crea una referencia al objeto turbina, y ya lo agregaste a tu colección por lo tanto vos en vez de operar con cada turbina por separado, operas con tu colección cosa que estás haciendo bien, pero lo que tenes que identificar es que cuando usas turbinas estás usando una referencia a otro objeto que es el que tiene referencias a cada una de tus turbinas y por tanto puede operar con ellas.

PD: Redondeando un poco, vos tenes una referencia a la colección y esa colección va a tener una referencia a cada objeto que tenga "asignado". Armate algún diagramita de objetos para entenderlo mejor.
(Este mensaje fue modificado por última vez en: 12-09-2014 09:26 por Diego Pedro.)
12-09-2014 09:24
Envíale un email Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
Buscar en el tema
Enviar respuesta 




Usuario(s) navegando en este tema: 1 invitado(s)



    This forum uses Lukasz Tkacz MyBB addons.