Show simple item record

dc.contributor.authorLee, Keung Haeen_US
dc.contributor.authorKafura, Dennis G.en_US
dc.date.accessioned2013-06-19T14:35:53Z
dc.date.available2013-06-19T14:35:53Z
dc.date.issued1990
dc.identifierhttp://eprints.cs.vt.edu/archive/00000189/en_US
dc.identifier.urihttp://hdl.handle.net/10919/19545
dc.description.abstractMost current object-oriented languages consider inheritance as subtyping. However, a type system which views inheritance as subtyping allows neither multiple representations of a type nor method exclusion without violating typing constraints. These problems and the difference between inheritance and subtyping have been well recognized recently. Another approach to subtyping found in the literature is to separate inheritance from subtyping. In this approach, subtyping is solely determined by inheritance conformance. While subtyping based on interface conformance can support multiple representations, it cannot distinguish intended conformance from accidental conformance. This paper describes a new model of type and inheritance, called HANA, in which subtyping and inheritance are not separated, although differentiated. The notion of subtyping in HANA is based on both inheritance and interface conformance. HANA integrates multiple inheritance multiple representations, method exclusion, and method name overloading with static typing. HANA extends other existing methods of inheritance and subtyping with enhanced expressive power, increased reusability, and program efficiency. We show that the differentiation made by HANA between inheritance and subtyping allows name collision to be resolved without compromising the integrity of the type system. The capability of excluding an inherited method without violating static typing offers a sound solution for resolving name collision in multiple inheritance when used together with other mechanisms. We show that the mechanisms of method exclusion, addition, and renaming are othogonal with respect to the power of resolving name collision in multiple inheritance.en_US
dc.format.mimetypeapplication/pdfen_US
dc.publisherDepartment of Computer Science, Virginia Polytechnic Institute & State Universityen_US
dc.relation.ispartofHistorical Collection(Till Dec 2001)en_US
dc.titleHANA: A Model of Type and Inheritance for Object-Oriented Programming Languagesen_US
dc.typeTechnical reporten_US
dc.identifier.trnumberTR-90-07en_US
dc.type.dcmitypeTexten_US
dc.identifier.sourceurlhttp://eprints.cs.vt.edu/archive/00000189/01/TR-90-07.pdf


Files in this item

Thumbnail

This item appears in the following Collection(s)

Show simple item record