Hi, Haowei.
Those properties and functions defined in the subclass construct are
defined for instances of the class, i.e. they are added to the
prototype property of a class. Object.extend, however, adds functions
and properties directly to the given object, not its prototype property.
Robert
On Apr 25, 2009,@2:16 PM, Haowei Ruan wrote:
> Hi, i do not understand why still uses Object.extend, can't those
> properties be defined within the "subclass" construct?
> Thanks in advance!
>
> regards,
> Haowei
>
> code snippet:
> --------------------------------------------------------
> Gradient.subclass("LinearGradient", {
>
> initialize: function($super, stopColor1, stopColor2, vector) {
> vector = vector || LinearGradient.NorthSouth;
> this.rawNode = NodeFactory.create("linearGradient",
> {x1: vector.x, y1: vector.y,
> x2: vector.maxX(), y2: vector.maxY()});
> this.addStop(0, stopColor1).addStop(1, stopColor2);
> return this;
> }
>
> });
>
> Object.extend(LinearGradient, {
> NorthSouth: rect(pt(0, 0), pt(0, 1)),
> SouthNorth: rect(pt(0, 1), pt(0, 0)),
> EastWest: rect(pt(0, 0), pt(1, 0)),
> WestEast: rect(pt(1, 0), pt(0, 0))
> });
> ---------------------------------------------------------
> _______________________________________________
> General mailing list
>
[hidden email]
>
http://livelykernel.sunlabs.com/mailman/listinfo/general