[Home] [By Thread] [By Date] [Recent Entries]
> > 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@f... +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
|

Cart



