|
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
|
|
|