Inheritance as an incremental modification mechanism or what like is and isn'tlike
on ECOOP '88 (European Conference on Object-Oriented Programming)
Design patterns: elements of reusable object-oriented software
Design patterns: elements of reusable object-oriented software
Using dynamic classes and role classes to model object migration
Theory and Practice of Object Systems - Special issue on the 1994 European Conference of Object Oriented Programming
ACM Computing Surveys (CSUR)
UML distilled: applying the standard object modeling language
UML distilled: applying the standard object modeling language
Object-oriented methods (UML ed., 2nd ed.): a foundation
Object-oriented methods (UML ed., 2nd ed.): a foundation
JML (poster session): notations and tools supporting detailed design in Java
OOPSLA '00 Addendum to the 2000 proceedings of the conference on Object-oriented programming, systems, languages, and applications (Addendum)
Program Development in Java: Abstraction, Specification, and Object-Oriented Design
Program Development in Java: Abstraction, Specification, and Object-Oriented Design
Hi-index | 0.00 |
The concept of generalization used during analysis when building a class diagram has a close relationship with the notion of inheritance included in object-oriented programming languages. However, from the point of view of programming, inheritance is a useful mechanism but not especially conceived to implement the generalization specified in analysis. Thus, generalization should be treated suitably in order to obtain sounded design and code from analysis specifications. In addition, it is known that it does not exist concensus about the interpretation and use of inheritance and each programming language provides its particular vision. Hence, when moving from analysis to design and/or implementation (and normally without using a formal approach) the generalization relationships are prone to misinterpretation. OASIS is a formal approach to specify object-oriented conceptual models. In OASIS generalization is included as a language construct that allows specifying generalization patterns with precise semantic and sintaxis. Although OASIS is a textual formal language, the main aspects of one OASIS specification can be mapped and represented using the UML notation, in particular generalization relationships among classes. In this paper we present OASIS generalization patterns and we show how they can be implemented in Java. We also propose other ways to carry out this implementation.