On 7/10/07, Tom Chiverton <[EMAIL PROTECTED]> wrote:
> It has createObject(), which can make things with properties and methods -
> therefore it has objects, therefore it's OO.

That just makes it object-based. However, it has inheritance,
polymorphism (because it has dynamic dispatch via inheritance) and
encapsulation (public / private data & methods). That is what makes it
OO.

> A no brainer 'yes' as the question is just 'do you want ColdFusion to have
> more features'. It does not say 'at the expense of non-OO features (like
> cfprint)', which would be far less likely to get a positive response.

Yes, which was partly why I said the survey was loaded...

> CF already has overloading (don't give cfargument a type parameter, or leave
> out cfargument all together) - so I'd love to hear from people who plumbed
> for that one :-)

Technically that's not overloading. Overloading is specifically
multiple functions with the same name. Overload resolution - the
process of figuring out the best match function to call - is a complex
algorithm that you cannot reasonably implement at runtime without a
big performance hit.

> I went for Constructors myself, as all we've got is a sort of half-baked
> almost by accident convention.

Constructors are just methods with a name determined by convention.
Not all languages name them to match the class name. The only general
benefit of "built-in" constructors is that there is usually some
shorthand in the syntax for constructing objects:

new Some.Type(args)

rather than:

new("Some.Type").init(args)

And, as I point out at every opportunity, when CF deals with Java, it
uses init() as a way to call Java's constructors (which are just
methods with specific names!).

> > Multiple Inheritance: 2%
> You do not want this. It's the wrong solution to composition.

Well, actually there are situations where multiple inheritance is a
very elegant solution - in a statically typed language. However,
dynamic languages tend to solve this using runtime mixins instead -
which is the "correct" elegant solution for dynamically typed
languages.
-- 
Sean A Corfield -- (904) 302-SEAN
An Architect's View -- http://corfield.org/

"If you're not annoying somebody, you're not really alive."
-- Margaret Atwood

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|
CF 8 – Scorpio beta now available, 
easily build great internet experiences – Try it now on Labs
http://www.adobe.com/cfusion/entitlement/index.cfm?e=labs_adobecf8_beta

Archive: 
http://www.houseoffusion.com/groups/CF-Talk/message.cfm/messageid:283365
Subscription: http://www.houseoffusion.com/groups/CF-Talk/subscribe.cfm
Unsubscribe: 
http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=11502.10531.4

Reply via email to