Podés cambiar el orden de los mensajes. Simplemente hacé clic en el enlace de columna fecha. Tus preferencias se guardarán, por lo tanto no necesitarás hacerlo otra vez cuando vuelvas a entrar.
Hola Mauro:
> Ale, Guille, Muchísimas gracias...me aclararon un poco mas el panorama,
> estoy muy virgen todavía con el desarrollo con objetos.. .
> es difícil salir de lo estructurado en lo cual es
> inviable tener una tabla sin atributos quizás por eso me entro esa duda.
> Lo que si ahora no puedo relacionarlo con el
> ejemplo del profesor, ya que el tema es el siguiente:
> El sistema es de un video club, y los pagos
> de los alquileres se hacen en efectivo y el
> profesor dijo que la clase pago no debería tener
> ningún atributo. Supongo que tampoco se registra
> la fecha de pago, porque sino por lo menos tendría
> esta variable de instancia.
Bueno, aqui hay un poco de objetos y un poco del análisis de la
problemática.
Cuando se refiere a que la clase de pago no debería tener ningun atributo,
supongo que se referiría a que la clase de pago se determine por si misma.
Osea... que sea una clase propia. Ahora expando...
Tener una clase padre, que no suele instanciarse, llamada, por ej,
CondicionDePago, y cuyas subclases pueden ser CondicionDePagoEfectivo y
CondicionDePagoCuentaCorriente.
Entonces si vos tenes una transaccion (el alquiler del video), que entre sus
"atributos" tiene la forma de pago (una variable de instancia llamada
'condicionDePago'), podrías asignarle la condición de pago utilizando una
instancia de alguna de las subclases de CondicionDePago. [1]
Y luego, si tuvieses una coleccion con todas las transacciones, y quisieses
saber cuales fueron pagadas en efectivo, podrías evaluar:
misTransacciones
select: [:tran |
(tran condicionDePago class = CondicionDePagoEfectivo)]
Con respecto a la fecha de pago, creo que eso es referente a la transacción
(al alquiler) y no a la condición de pago, la cual es, en la mayoría de los
casos y habitualmente, indiferente de cuando se realice la transaccion.
Por lo tanto si todo eso lo tenes en la transacción, tal vez te convenga que
transacción posea una variable de instancia que contenga la fecha de pago.
Espero que me hayas podido entender, y que yo haya entendido lo que
preguntabas :-)
> Disculpen mi ignorancia, es que estoy muy acostumbrado
> a estructurado y se me hace difícil pensar el sistema
> de objetos sin pensar en estructurado.
No importa, con dedicación y paciencia se te va a hacer dificil _creer_ en
que en algun momento pensaste en estructurado :-D
Saludos.
--
Esteban.
[1] Para los puristas, esto se podría resolver elegantemente con un
Singleton, pero no viene al caso. :-)
Hola Lista, buenos dias, los jodo porque tengo una duda que me surgio a partir de una acotacion que le dio el profesor de la facultad a mi novia: Segun el...
Hola Mauro, La respuesta corta es SI, pueden existir clases sin atributos. Los atributos de una clase, se los definís vos mediante la definición de la misma,...
Hola Mauro, ... (creo que con "atributos" te referís a variables de instancia) La respuesta es NO. Las clases son instancias de Class (en realidad una...
Hola Mauro, Ale, Lo que Ale te dice también es cierto, pero seguramente, ahora Mauro tiene una confusión mas grande que antes, respondo entre líneas. ... Yo...
... Yo no lo se. Para qué? Sólo lo use para saber cuanto tarda en instanciar n veces :-) Time millisecondsToRun: [1000000 timesRepeat: [Object new]]. Siendo...
Hola, Solo un comentario, sin mucha importancia. ... size Al evaluar estas expresiones se estan olvidando de las superclases... Lo que corresponde enviar es...
Ale, Guille, Muchísimas gracias...me aclararon un poco mas el panorama, estoy muy virgen todavía con el desarrollo con objetos....es difícil salir de lo...
... Bueno, aqui hay un poco de objetos y un poco del análisis de la problemática. Cuando se refiere a que la clase de pago no debería tener ningun atributo,...
Hola Mauro, ... Y si lo tiene que importa? Cómo argumentó la inconveniencia de tener una var. de instancia? ... y? Quizás estaba intentando decir otra cosa...
Hola, ... Estoy seguro que muchos no saben en que casos se usaría... y no se animan a preguntarlo :-) Creo que es un buen ejemplo para demostrar que el ver a...
... Que raro que el #upToEnd no se implemente asi. ... Claro, pero creo que no se contradicen. Buscar no generar desperdicios es un objetivo, casi un ideal,...
Hola, ... El mensaje #upToEnd no es ANSI (el #upTo: si lo es) por lo que vas a ver que es un mensaje implementado solo en algunos smalltalks. El mensaje #upTo:...
"aStream upTo: Object new." Muy bueno !, casi me pierdo aprender de tu implementacion ya que #upToEnd no estaba en el ANSI ;) Me fije por curiosidad y: VW 7.2,...
Hola, a todos! Mientras hablaban de no generar basura, ... se me presento un ejemplo mínimo, que ya lo había pasado muchas veces pero que nunca lo había...
Hola! El upTo:, de squeak usa el upToEnd. Con lo que si hicieramos, aStream upTo: Object new, nos devolvue (^self upToEnd) no?. Otra cosa, mirando el metodo...
Hola Facundo, ... No lleves lo que decimos a los extremos :-) Lo que comentábamos sobre la "basura" se aplica, cuando uno detectó una parte del sistema donde...
... Si, existen clases sin atributos [*]. Evaluando lo siguiente en un Dolphin Smalltalk me responde devuelve unos casi 900 clases que no tienen "atributos". ...