Article,

OOP: the rest of the story

, and .
J. Comput. Sci. Coll., (December 2011)

Abstract

The object-oriented paradigm has influenced software development for decades now and has found its place in the mainstream of CS curricula. Its facility for improving program organization is well known and today's programmers are expected to readily employ its features when they apply. Few programmers, and even fewer CS curricula, however, are cognizant of some of OOP's more powerful aspects. Polymorphism, for example, does not only apply to one class hierarchy, hence <i>multimethods</i> are part of the OOP repertoire. Software designers should also understand how method pre-and-post conditions interact with inheritance, since class interfaces constitute a <i>contract</i> with client programs. Finally, it is important to understand that the features of object-oriented programming do not explicitly require statically defined classes. In this paper we explore multimethods, contract programming, and implementing objects without an explicit class type, with examples in popular, modern programming languages.

Tags

Users

  • @ji

Comments and Reviews