From: ········@bayou.uh.edu
Subject: Re: C++ briar patch (Was: Object IDs are bad)
Date: 
Message-ID: <5m0264$so5$2@Masala.CC.UH.EDU>
Mike Haertel (····@ducky.net) wrote:
: In article <······················@Alcatel.com.au>, Chris Bitmead uid(x22068) wrote:

[Snip]

: >Well that definition would be wrong. Prove it to yourself. Are you
: >saying that if I write vast hierarchies of objects with inheritance
: >and so on, but don't happen to need to mutate anything, that it is not
: >OO?

: Yes, that is precisely what I am saying.  Inheritance and vast hierarchies
: of objects do not imply OO.

Mutability doesn't imply OO, nor does OO imply mutability, it's just
something people are used to.


: The most important aspects of OO programming are late binding of methods
: and encapsulation of local state.

You can encapsulate state without modifying it.  State transformations
can be expressed by messages to objects returning new objects.  This
is nothing new to those versed in the functional paradigm, and is
certainly much more pleasant than making an object alter itself
behind the scenes everytime you call a method.


: Inheritance is a fairly cool idea, but it's over hyped, and it
: has very little to do with what's good about OO.

It depends on the language IMO.  Inheritance can be a powerful feature
for languages which lack dynamism.  It's still a useful feature even
in dynamic languages, but not as much as with static ones.


--
Cya,
Ahmed

When they bury me no tears will be cried.
	"Potential Suicide" by Black Market Baby