[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Picking the Tools -- Marrying processing models to data models
- From: Uche Ogbuji <uche.ogbuji@fourthought.com>
- To: "Al B. Snell" <alaric@alaric-snell.com>
- Date: Wed, 23 May 2001 06:59:24 -0600 (MDT)
> > You can, again, do this quite handily without messing with inheritance, as
> > long as your tools allow you. OO tools largely restrict you to
> > inheritance for black-box substitution. This is exactly one of the
> > problems I have with it.
>
> No! Polymorphism! The existing code relies on an object implementing a
> given interface, and you can write other classes to implement that
> interface and swap them in, you don't have to subclass the existing
> "Customer" class.
No. Inheritance. This is part of my core point: OO has a very limited
concept of polymorphism, which is really just late binding. OO restricts
late binding to sub-type constraints and thence sub-class function
dispatch.
My point is that you can get all the benefits of swapping in the Customer
code without late binding tied exclusively to inheritance. IOW,
polymorphism is much bigger than OO.
Note that this is where I get lost as to Perry's thrust (no pun) because
it looks as if he too advocates late binding across distributed systems,
and I don't see how that constitutes an automatic endorsement of OO.
--
Uche Ogbuji Principal Consultant
uche.ogbuji@fourthought.com +1 303 583 9900 x 101
Fourthought, Inc. http://Fourthought.com
4735 East Walnut St, Ste. C, Boulder, CO 80301-2537, USA
Software-engineering, knowledge-management, XML, CORBA, Linux, Python