> Hey Schuyler, > > I'm not concerned about breaking backwards compatibility here. We never > encouraged people to override the initialize method by re-assigning it on > the prototype, and we always advertised the initialize method as > constructor. With 2.11, finally, the initialize method is a real > constructor, i.e. > > X.prototype.initialize === X. > > So instead of > > X.prototype.initialize = function() { ... } > > which we never encouraged people to do anyway, people could now do > > X = X.prototype.initialize = function() { ... } >
Thanks for remining this, but what about the new paradigm. Doing : X= OpenLayers.Class({ initialize:function() { this._p= "A.initialize"; OpenLayers.Console.info(this._p); }, pa:"PA", p_:null, ma:function() { OpenLayers.Console.info("A.ma="+this.pa); } }); X = X.prototype.initialize = function() { this.p_= "A.initialize-new"; OpenLayers.Console.info(this.p_); } try { var x1= new X(); OpenLayers.Console.assert((x1 instanceof X)); OpenLayers.Console.assert((x1.p_=="A.initialize-new")); x1.ma(); } catch(ex) { OpenLayers.Console.warn(ex); } gives : TypeError: x1.ma is not a function It does not although work with 2.10 (same exception). Did I miss something ? didier > Andreas. > > On Jul 24, 2011, at 22:07 , Schuyler Erle wrote: > >> >> On Jul 24, 2011, at 4:43 AM, RICHARD Didier wrote: >> >>> With 2.10, overloading constructors was as simple as overwriting the >>> initialize prototype : >>> >>> X.prototype.initialize= function () { ...} >>> >>> In 2.11-RC1, it breaks as the new prototype is not the constructor ! >>> ... >>> >>> BTW, as this new OpenLayers.Class is a major change in OpenLayers, >>> don't >>> you thing it is more a 3.0 feature than a 2.x ? >> >> I confess I'm a little concerned about this... Are we breaking backwards >> compatibility with such a change? >> >> SDE_______________________________________________ >> Dev mailing list >> d...@lists.osgeo.org >> http://lists.osgeo.org/mailman/listinfo/openlayers-dev > > > > -- > Andreas Hocevar > OpenGeo - http://opengeo.org/ > Expert service straight from the developers. > > -- RICHARD Didier - Chef du pôle technique du Géoportail 2/4, avenue Pasteur - 94165 Saint Mandé Cedex Tél : +33 (0) 1 43 98 83 23 _______________________________________________ Dev mailing list d...@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/openlayers-dev