Title :
Reasoning about polymorphic behavior
Author :
Soundarajan, Neelam ; Fridella, Stephen
Author_Institution :
Dept. of Comput. & Inf. Sci., Ohio State Univ., Columbus, OH, USA
Abstract :
The standard approach to dealing with OO polymorphism is to require subclasses to be behavioral subtypes of the base class. This ensures that reasoning that has been done about any client code that operates on base class objects will continue to be valid if instances of the subclasses are used in place of the base class objects. But often one is interested in stronger properties of the client code, in particular that its behavior will be appropriate to the specific subclass objects that are used, rather than just generic behavior that ignores the differences between the different subclasses. The authors present some examples to illustrate the problem, and propose a method of reasoning that allows one to establish stronger properties of the client code on the basis of the richer behavior provided by the appropriate derived classes
Keywords :
abstract data types; object-oriented programming; base class objects; behavioral subtypes; client code; object-oriented polymorphic behaviour; reasoning; subclass objects; Code standards; Information science; Runtime;
Conference_Titel :
Technology of Object-Oriented Languages, 1998. TOOLS 26. Proceedings
Conference_Location :
Santa Barbara, CA
Print_ISBN :
0-8186-8482-8
DOI :
10.1109/TOOLS.1998.711025