Re: To understand OOP better...

From: Joe \ (joe_at_bftsi0.UUCP)
Date: 12/31/03


Date: Wed, 31 Dec 2003 06:10:46 -0800


"Robert C. Martin" <unclebob@objectmentor.com> wrote in message <news:brj5vv835e17olmcsdfiq0g8p1jhf3euf6@4ax.com>...

> So, a working definition of an OOPL in all their variations might be:
> a language that allows functions to be bound to data structures and
> that invokes those functions using dynamic polymorphism.
>
> Or, to get very nitty gritty: A language in which the variables
> within data structures are manipulated by functions called through
> jump tables.

IMPOSSIBLE! If mere dynamic polymorphism is allowed to "count" as OO,
then even Visual Basic 5.0 and 6.0 could be considered OOPLs! Clearly
this is considered heresy, apostasy, heterodoxy, anathema, abomination,
Evil, Bad, and Wrong. Implementation inheritance must be *paramount*,
or you open the door to admitting that, horror of horrors, even VB 4.0
could support dynamic polymorphism through the use of evil weakly-typed
Object references, or, the *ultimate* insult, VB 1/2/3 via (mis-)using
its Form references. No, the Great VB Unwashed must *never* be allowed
a seat at the OO table. The three rules of OO must forevermore remain,

1) Identity

2) Polymorphism via Inheritance

3) IMPLEMENTATION Inheritance

For further safety, object identity and polymorphism obviously need to
be redefined in such a way as to *totally* excommunicate Visual Basic.

BTW, encapsulation is deprecated. Since implementation inheritance and
methods break encapsulation, encapsulation must therefore be irrelevant.

--
Joe Foster <mailto:jlfoster%40znet.com>     Got Thetans? <http://www.xenu.net/>
WARNING: I cannot be held responsible for the above        They're   coming  to
because  my cats have  apparently  learned to type.        take me away, ha ha!