From: Phlip on
Alan Gauld wrote:

> You just described the difference. Your definition is much
> narrower than OO.
> OO has een applied to many different things from menu systems to
> graphics
> to business analysis therefore it cannot be defined purely in
> terms of
> programming terms.

Microsoft likes to put out that Windows is written in C++.

Just saying it don't make it so ;-)

And giving OO a narrow definition helps tease Topmind back. If you define OO
as polymorphism, then the statement "OO sucks" is the same as "polymorphism
sucks", which is trivially false.

--
Phlip
http://www.c2.com/cgi/wiki?ZeekLand


From: Christer Ericson on
In article <m2aclxq22x.fsf(a)beagle.i-did-not-set--mail-host-address--so-
tickle-me>, peter(a)beagle.i-did-not-set--mail-host-address--so-tickle-me
says...
> > [...]
> > The commonly accepted view is that _only_ when we add the feature of
> > enclosing _data_ in the ADT does it become an object. That is, the
> > fundamental idea of object orientation is to combine within an
> > entity (which we call the object) data and operations on that data.
>
> Commonly accepted by whom?

Commonly accepted by a majority of people and taught at
universities world-wide, as reflected by a majority of textbooks:

"An object is a hidden variable together with a group of exported
operations (functions, procedures, etc) that access it." (Watt.
Programming Language Concepts and Paradigms, p.106).

"A class describes an abstract data type; class instances are called
_objects_." (Ghezzi and Jazayeri. Programming Language Concepts,
p. 155).

"One way to achieve a modular solution is by identifying within a
problem components -- called _objects_ -- that combine data and
operations on the data. Such an _object-oriented_ approach to
modularity produces a collection of objects that have behaviors."
(Carrano and Prichard. Data Abstraction and Problem Solving with C++,
3rd ed., p. 18)

"The ADT concept is closely related to the concept of objects too.
"Object" is a loosely defined term, but it generally refers to a
collection of data and operations on the data." (McConnell. Code
Complete, 1st ed., p. 297)

Sorry, I ran out of textbooks within arm's reach. Need I go on?

Granted, the idea of an object also generally includes the
concepts of inheritance and polymorphism, but these are nowhere
near as fundamental as "data + operations = object."

--
Christer Ericson
http://realtimecollisiondetection.net/
From: Ilja Preu� on
CTips wrote:
> topmind wrote:
> <snip>
>> OO is good for .... shapes.
>>
>
> Not really. Anytime someone comes up with the shapes example, ask them
> how they would add the method:
>
> class shape {
> // true if object has any points in common with <B>
> boolean intersects(shape B);
> }
>
> See how quickly mind-lock sets in....

Why should this simple request cause any mind-locks???

Confused, Ilja


From: Dmitry A. Kazakov on
On Fri, 10 Jun 2005 15:03:42 -0500, Robert C. Martin wrote:

> On Fri, 10 Jun 2005 10:44:42 +0200, "Dmitry A. Kazakov"
> <mailbox(a)dmitry-kazakov.de> wrote:
>
>>On Thu, 09 Jun 2005 16:13:48 -0500, Robert C. Martin wrote:
>>
>>> I don't think so. Polymorphism is the ability for an object to
>>> respond to a message in a manner that is consistent with it's type.
>>
>>Isn't it rather strong typing?
>
> OO languages are strongly typed, even if they aren't statically typed.

Yes.

But the point is that an ability to act consistently with the type
characterize strong typing, not polymorphism.

>>Ooch. Can a goal of software design/structuring/etc be "calling functions
>>through jump tables"? You belittle OO! (:-))
>
> One cannot belittle something by describing it in detail.

That depends on the detail you are going to describe... (:-))

--
Regards,
Dmitry A. Kazakov
http://www.dmitry-kazakov.de
From: Phlip on
Christer Ericson wrote:

> Granted, the idea of an object also generally includes the
> concepts of inheritance and polymorphism, but these are nowhere
> near as fundamental as "data + operations = object."

In C:

void operation(struct object * pObject);

Is that Object Oriented? Or does the dot notation aObject.operation() make
it object oriented?

--
Phlip
http://www.c2.com/cgi/wiki?ZeekLand


First  |  Prev  |  Next  |  Last
Pages: 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
Next: Use Case Point Estimation