ACM Home Page
Please provide us with feedback. Feedback
Class-is-type is inadequate for object reuse
Full text PdfPdf (994 KB)
Source ACM SIGPLAN Notices archive
Volume 36 ,  Issue 6  (June 2001) table of contents
Pages: 50 - 59  
Year of Publication: 2001
ISSN:0362-1340
Author
Sheng Yu  Univ. of Western Ont., London, Ontario, Canada
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 2,   Downloads (12 Months): 11,   Citation Count: 1
Additional Information:

abstract   references   cited by   index terms   collaborative colleagues  

Tools and Actions: Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/504359.504364
What is a DOI?

ABSTRACT

It is well known that class and type are two different concepts in object-oriented programming languages (OOPLs). However, in many popular OOPLs, classes are used as types. In this paper, we argue that the class-is-type principle is a major obstacle to software reuse, especially to object reuse. The concepts of the basic entities, i.e., objects, object classes, object types, and object kinds, in the type hierarchy of OOPLs are revisited. The notion of object reuse is defined and elaborated. In addition, we show that parameterized types and generic functions are better served by used kind-bounded quantification than universal quantification and other mechanisms.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

 
1
 
2
Ada 9X mapping/revision team, Ada 9X rationale, Intermetrics, Inc., 8 June 1994.
 
3
K. Arnold and J. Gostling, The Java programming language, Adddison-Wesley, 1996.
 
4
 
5
G. Baumgartner and V.F. Russo, A C++ extension for types abstraction and subtype polymorphism, Tech report CSD-TR-93-059, Dept. of Computer Science, Purdue Univ., Sept. 1993.
 
6
G. Blaschek, "Type-safe OOP with prototypes: the concept of Omega", Structured programming 12(12) (1991) 1-9.
 
7
 
8
 
9
 
10
L. Cardelli, Typeful programming, Formal description of programming concepts---IFIP state-of-art report, 431-507, Springer-Verlag, 1991.
 
11
C. Chambers, "The Cecil language specification and rationale", Technical report 93-03-05, Univ. of Washington, Dept. of Comuter Science and Engineering, 1993.
12
13
 
14
15
16
 
17
J.-Y. Girard, Interpretation fonctionelle et élimination des coupures de l'arithmétique d'ordre supéieur, These D'Etat, Univ. Paris VIII, 1972.
 
18
J.V. Guttag, J.J. Horning, The algebraic specification of abstract data types, Programming Methodology, 282-308, Springer-Verlag, 1978.
 
19
B. Liskov, D. Curtis, M. Day, S. Chemawat, R. Gruber, P. Johnson, and A.C. Myers, Theta reference manual---preliminary version, MIT Laboratory for Comptuer Science, Cambridge 1995.
 
20
21
 
22
 
23
 
24
 
25
J. Noble, A. Taivalsaari, and I. Moore eds., Prototype-based programming, Springer, Singapore, 1999.
 
26
P. Scheyen, S. Yu, M. Zhang, and Q. Zhuang. Introducing KINDS to C++, Technical report 366, Dept. of Computer Science, The Univ. of Western Ontario, 1993.
 
27
P. Scheyen, C++ constructs for generic functions and classes, Master thesis, Dept. of Computer Science, The Univ. of Western Ontario, 1994.
28
 
29
 
30
 
31
 
32
S. Yu and Q. Zhuang, "Algorithmic abstraction in object-oriented languages", Journal of Object-Oriented Systems 2 (1995) 217-236.
 
33
S. Yu and Q. Zhuang, "Software reuse via algorithm abstraction", Proc. of the 17th Internat. Conf. on Technology of Object-Oriented Languages and Systems (TOOLS), 277-292, 1995.
 
34
S. Yu and Q. Zhuang, On parametric polymorphism in object-oriented languanges, Technical report 378, Dept. of Computer Science, The Univ. of Western Ontario, 1993.
 
35