ACM Home Page
Please provide us with feedback. Feedback
Method overloading and overriding cause encapsulation flaw: an experiment on assembly of heterogeneous components
Full text PdfPdf (447 KB)
Source Symposium on Applied Computing archive
Proceedings of the 2006 ACM symposium on Applied computing table of contents
Dijon, France
SESSION: Object-oriented programming languages and systems (OOPS) table of contents
Pages: 1424 - 1428  
Year of Publication: 2006
ISBN:1-59593-108-2
Author
Antoine Beugnard  ENST Bretagne, Brest cedex
Sponsor
SIGAPP: ACM Special Interest Group on Applied Computing
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 6,   Downloads (12 Months): 34,   Citation Count: 2
Additional Information:

abstract   references   cited by   index terms   collaborative colleagues  

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

ABSTRACT

Based on an experiment using three languages under .NET, this paper argues that the semantic differences between these languages regarding method overloading and overriding give rise to significant complexity and break encapsulation. We first recalls the various interpretations of overriding and overloading in object oriented languages through what we call language signatures. Then, we realize an experimentation with .NET components coded in different programming languages in order to observe the global behavior. From this, we show that overriding and overloading are not compatible with a key property of components: encapsulation. We conclude that, in the current state of the art, in order to build predictable assembly, components must expose their internal structure! We propose a solution to this problem.


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
D. Ancona, S. Fagorzi, and E. Zucca. A calculus for dynamic linking. In Springer, editor, ICTCS'03 - Italian Conference on Theoretical Computer Science, Lecture Notes in Computer Science 2841, 2003.
 
2
D. Ancona and E. Zucca. Sound and complete inter-checking (the very essence of principal typings). Technical report, Universita di Genova, 2004.
 
3
A. Beugnard. Comparison of various oo languages relatively to their late-binding semantics. http://perso-info.enst-bretagne.fr/~beugnard/papiers/lb-sem.shtml.
 
4
A. Beugnard. OO languages late-binding signature. In FOOL 9 (The Ninth International Workshop on Foundations of Object-Oriented Languages), Portland, Oregon, January 19 2002.
 
5
 
6
 
7
A. Capouillez, P. Crescenzo, and P. Lahire. Le modèle ofl au service du métaprogrammeur - application à java. L'objet, LMO'2002, pages 11--24, 8 2002.
 
8
 
9
R. Ducournau. Spécialisation et sous-typage: thème et variations. Technique et Science Informatique, 21(10):1305--1342, 2002.
 
10
ECMA. Standard-ecma334, C# language specification. http://www.ecma-international.org/publications/standards/Ecma-334.htm.
 
11
M. D. McIlroy. Mass produced software components. In NATO Conference on Software Engineering, Garmisch, Germany, 1968.
 
12
B. Meyer. Overloading vs. object technology. Journal of Object-Oriented Programming, pages 3--7, October/November 2001.
 
13
Microsoft. Microsoft .NET. http://www.microsoft.com/net.
 
14
 
15
OMG. site mda. http://www.omg.org/mda.
 
16
 
17