Thanks, Rob!

Yet, I'd really like the proto core team to answer these. My questions
more far-reaching than they may seem to be.

It's well known that javascript isn't object-oriented in a strict
sense, it's prototype-oriented. And to make it truly to support OOP
paradigmas can be perhaps the goal the language has never been
supposed to reach in the first place. However, understandably, it
remains a challenge for every professional js-programmer, to do
something in the OOP direction.

I'm no novice here, I've seen a lot of bad OOP implementations. And
I'm sure you all have. It'll be a drag to devise a clever inheritance
mechanism to only inflate the valuable library and to never really use
such inheritance for the reason it seems so complex and un-
maintainable for real-world applications. I'm tracking prototype's
progress almost since its conception on the web. And so forth, it
seems, Object.extend ans Class.create served well. I hope that
whatever becomes out of elaborating it [=base part], will be as robust
and useful as its predecessors.

That's why I'm offering my share in it. If you're interested to have a
look, just ask. No - no. Our code I'm offering is far from ideal,
however in the hands of prototype team it may really become something.
As it always have.

Thanks.

Best regards,

Andrew Revinsky




On Sep 3, 9:14 pm, Robert Katić <[EMAIL PROTECTED]> wrote:
> Hi Andrew,
>
> I am not in dev team but I think that same things I can tell you.
>
> 1. In every script language all methods are "virtual" because those we
> call through instance reference ("this" in JS) and methods are
> reachede dynamically through parrent chain (prototype chain in JS).
>
> 2. In JS there is no standard way to get a stack informations, so we
> have to wrap real method and provide a way to reach the parent method.
> Of corse we can do a generic method for every method in prototype to
> be able to call parent method in this way: "ASuperClass.foo(this,...)"
> instead of "ASuperClass.prototype.foo.call(this, ...)" but it is no
> the same... I implemented this kind of solution in my module...
>
> VMT and JS? It's a kind of higher level language parsed to real JS
> code? I am curious.
>
> 3. It's not truth. You will inherit all properties of parent prototype
> object. For now in 1.6.0_rc0 you don't inherit "static" properties but
> maybe it will  changed...
>
> I hope I have answered to your questions regardless my bad english...
>
> On Sep 3, 6:20 pm, Andrew Red <[EMAIL PROTECTED]> wrote:
>
>
>
> > Gentlemen,
>
> > A set of questions related to inheritance in Prototype:
>
> > 1. will there be virtual methods?
>
> > Like, if A is B's parent;
> > A has a() and b() methods;
> > B has only b();
> > oB is an instance of B.
>
> > So oB.a() to call A#a() with oB as execution context and
> >      oB.b() to call B#b() with the same oB as context.
>
> > And to make a true virtual method calls possible, to call A#b() from
> > oB there's to be a base object reference support. Wich brings me to
> > the second point:
>
> > 2. Is there 'base' reference analogy? (Please read on.) Being
> > from .NET environment, I'd of course expect to use something like
> > this.base.b() to access A#b() (with oB as a context). But I'm sure you
> > got different ideas on that.
> > Of course, I saw your "$super", first argument. But it makes base
> > class reference possible _only_ if the first argument of the
> > subclass'es constructor specified, and named '$super'. Doesn't it look
> > awkward? I mean, why not leave a constuctor function as is? No plans?
> > We've had an extension library for Prototype to implement just that.
> > Would you like to have a look? (We use a sort of VMT hash to call
> > methods and it's pretty much crafty written.)
>
> > 3. It also seems that child has only parent's methods, not properties.
> > Why?
>
> > I appreciate your aswering to this no less than reading it. Thank you
> > in advance.
>
> > Best regards,
>
> > Andrew Revinsky- Hide quoted text -
>
> - Show quoted text -


--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Prototype: Core" group.
To post to this group, send email to prototype-core@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/prototype-core?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to