On Tue, Nov 30, 2010 at 11:04 AM, Josh Hayes-Sheen <[email protected]> wrote:
> I was under the impression that, like java, CFML objects could
> implement multiple interfaces, Or extend one object and implement one
> or more interfaces as well, In the line below I clarified it as
> "multiple interface inheritance" but I guess I should have been more
> clear.

One extend, multiple implements. Extends is inheritance.

Java introduced interfaces (partly) because it chose not to offer
multiple inheritance. Scala takes a different approach (traits - to
allow mixins without actual inheritance). Pretty much every language
that followed C++ decided not to provide multiple inheritance because
of the perceived problems it supposedly causes. I worked with C++
extensively in the 90's (and I was on the ANSI standards committee for
eight years) and I think the issues with multiple inheritance have
been blown up out of all proportion... but these days the popular
model tends to be Java's single inheritance, multiple interfaces /
traits.

In a fully dynamic language, interfaces are pretty much worthless
(IMO) so, whilst I was an early advocate for cfinterface, I think CFML
would be a better language without it - and I was never a fan of
BlueDragon's approach (with attributes on cfcomponent to identify
abstract classes and other Java-like stuff). Can't shut Pandora's box
tho' :(
-- 
Sean A Corfield -- (904) 302-SEAN
Railo Technologies, Inc. -- http://getrailo.com/
An Architect's View -- http://corfield.org/

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

-- 
Open BlueDragon Public Mailing List
 http://www.openbluedragon.org/   http://twitter.com/OpenBlueDragon
 official manual: http://www.openbluedragon.org/manual/
 Ready2Run CFML http://www.openbluedragon.org/openbdjam/

 mailing list - http://groups.google.com/group/openbd?hl=en

Reply via email to