Friday, March 28, 2003

Generalizing Polymorphism With Multimethods

David Mertz:

Object-oriented programming gains much of its versatility through polymorphism: objects of different kinds can behave in similar ways, given the right contexts. But most OOP programming is single dispatch; that is, just one designated object determines which code path is taken. Conceptually, a more general technique is to allow all the arguments to a function/method to determine its specialization. This article presents an implementation of multiple dispatch in Python, and shows examples where this makes for better programs.

1 Comment

Instead of mucking around with experimental Python extensions, consider that the first OO language that achieved an ANSI standard has multiple dispatch. That's right, Common Lisp!

Comments RSS Feed

Leave a Comment