Hola gente!

Sergio, no sabria como explicarlo para hacerlo en la interfaz grafica, pero
veria otros metodos como los de Point (en Pharo y Squeak)

aPoint := Point x: 10 y: 20

Su definicion

!Point class methodsFor: 'instance creation' stamp: 'md 12/2/2004 23:44'!
x: xInteger y: yInteger
"Answer an instance of me with coordinates xInteger and yInteger."

^self basicNew setX: xInteger setY: yInteger! !

Termina siendo un metodo de clase, que hace self basicNew (o self new) y a
lo que devuelve (un nuevo objeto Point) se le envia un mensaje de object
(#setX:setY: en este caso)

!Point methodsFor: 'private' stamp: 'lr 7/4/2009 10:42'!
setX: xValue setY: yValue
x := xValue.
y := yValue! !


Este codigo lo saque de algun Pharo 1.3:
'From Pharo1.3 of 16 June 2011 [Latest update: #13315] on 29 October 2011
at 3:52:13 pm'!

En tu caso, tambien quieres armar no un Orden, sino un OrderCompra. Es mas
raro (y veria las razones por querer hacer eso), pero en vez de self
basicNew, habria que poner OrderCompra basicNew etc.... en el metodo de
clase Order #bid:price: y OrderVenta basicNew etc... en el metodo de clase
Order #ask:price:

Pero podria ser mas claro (depende del contexto de lo que quieras
implementar):

o1:= OrderCompra bid:4 price:30.
o2:= OrderVenta ask:4 price:30.

Nos leemos!

Angel "Java" Lopez
http://www.ajlopez.com
http://twitter.com/ajlopez


2012/7/21 Sergio Hernán Valenzuela Cámara <[email protected]>

> Amigos:
>
> ¿ cómo se crean métodos estáticos o constructores en smalltalk ? ...esto
> para
> poder hacer lo sgiguiente:
>
> o1:= Order bid:4 price:30.  "que devuelva un objeto del tipo OrdenCompra"
> o2:= Order ask:4 price:30.  "que devuelva un objeto del tipo OrdenVenta"
>
> ó
>
> addOrder(Order bid:4 price:30 )    "que mande al método addOrder un objeto
> del tipo OrdenCompra"
> addOrder(Order ask:4 price:30 )    "que mande al método addOrder un objeto
> del tipo OrdenVenta"
>
>
> Saludos,
>
> Sergio
>
> --
> To post to this group, send email to [email protected]
> To unsubscribe from this group, send email to
> [email protected]
>
> http://www.clubSmalltalk.org

-- 
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]

http://www.clubSmalltalk.org

Responder a