• DocumentCode
    2417467
  • Title

    Weak subtyping and genericity

  • Author

    Heberle, Andreas ; Löwe, Welf ; Neumann, Rainer ; Zimmermann, Wolf

  • Author_Institution
    Inst. fur Programmstrukturen & Datenorgan., Karlsruhe Univ., Germany
  • fYear
    2000
  • fDate
    2000
  • Firstpage
    149
  • Lastpage
    158
  • Abstract
    In the past, object-oriented design focused on encapsulation and inheritance as primary concepts. As a consequence, there has been a lot of work in the domain of inheritance and the associated problems, i.e. covariant type systems. Recently, parameterized (generic) classes have become more popular in object-oriented design. While the use of genericity in functional languages is well known and delivers no major problems, the situation in object-oriented languages differs: the combination of inheritance with genericity raises problems. This paper describes the theoretical foundations of designing and using generic classes in object-oriented systems. It discusses the possible relationships between generic subclasses as well as those between specialized instances of one generic class. The ideas presented use the concept of context dependent subtypes, so-called weak subtypes, to define criteria for correctness, well-formedness and substitutability
  • Keywords
    data encapsulation; inheritance; object-oriented languages; object-oriented programming; context dependent subtypes; correctness; covariant type systems; encapsulation; generic subclasses; genericity; inheritance; object-oriented design; object-oriented languages; parameterized classes; substitutability; weak subtyping; well-formedness; Electronic mail; Encapsulation; Java; Modems; Programming profession;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Technology of Object-Oriented Languages and Systems, 2000. TOOLS 34. Proceedings. 34th International Conference on
  • Conference_Location
    Santa Barbara, CA
  • ISSN
    1530-2067
  • Print_ISBN
    0-7695-0774-3
  • Type

    conf

  • DOI
    10.1109/TOOLS.2000.868967
  • Filename
    868967