OBJECT ORIENTED PROGRAMMING: INHERITANCE TO ADOPTION (1991)
| Citations: | 1 - 0 self |
BibTeX
@MISC{Dinesh91objectoriented,
author = {T. B. Dinesh},
title = {OBJECT ORIENTED PROGRAMMING: INHERITANCE TO ADOPTION},
year = {1991}
}
OpenURL
Abstract
Object oriented programming is recognized for its ability to inherit and reuse code and this is reflected by its widespread adoption by the industry in the recent years. A high degree of reusability makes it especially suited for developing and maintaining large software. But as programs get larger, static type-checking becomes imperative, and this has been a concern of the OOP community from the beginning. However, as illustrated by the language Eiffel, the flexibility of inheritance appears to conflict with a language being statically type-checkable. In this thesis, we generalize the notion of inheritance and delegation, and use this generalization to propose an applicative object oriented programming language which accomodates updating of instance variables and a flexible message passing mechanism. The proposed message passing mechanism uses the type declaration information to appropriately alter the message passing semantics in a type sensitive manner. A particular implication of such a system is the notion of adoption, where an object could get adopted by a context thus giving an orphan object some features of the context. Inheritance with adoption results in a desirable solution to static type-checking in several contexts when inherited types are not subtypes. A flexible and statically type-checkable applicative OOPL is developed to demonstrate the utility of adoption with inheritance. This language is described using ASF+SDF, an algebraic specification formalism. 2







