Smalltalk-80: the language and its implementation
Smalltalk-80: the language and its implementation
On understanding types, data abstraction, and polymorphism
ACM Computing Surveys (CSUR) - The MIT Press scientific computation series
The C++ programming language
Distrbution and Abstract Types in Emerald
IEEE Transactions on Software Engineering - Special issue on distributed systems
Object structure in the Emerald system
OOPLSA '86 Conference proceedings on Object-oriented programming systems, languages and applications
Using prototypical objects to implement shared behavior in object-oriented systems
OOPLSA '86 Conference proceedings on Object-oriented programming systems, languages and applications
OOPLSA '86 Conference proceedings on Object-oriented programming systems, languages and applications
Conformance, genericity, inheritance and enhancement
European conference on object-oriented programming on ECOOP '87
Research directions in object-oriented programming
Inheritance and the development of encapsulated software systems
Research directions in object-oriented programming
Name collision in multiple classification hierarchies
on ECOOP '88 (European Conference on Object-Oriented Programming)
Building and maintaining analysis-level class hierarchies using Galois Lattices
OOPSLA '93 Proceedings of the eighth annual conference on Object-oriented programming systems, languages, and applications
Conceptual modeling and programming languages
ACM SIGPLAN Notices
Object orientation in multidatabase systems
ACM Computing Surveys (CSUR)
ACM Computing Surveys (CSUR)
Communications of the ACM
Integrating independent components with on-demand remodularization
OOPSLA '02 Proceedings of the 17th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Integrating Independently-Developed Components in Object-Oriented Languages
ECOOP '93 Proceedings of the 7th European Conference on Object-Oriented Programming
Concepts and models for typing events for event-based systems
Proceedings of the 2007 inaugural international conference on Distributed event-based systems
Modules for crosscutting models
Ada-Europe'03 Proceedings of the 8th Ada-Europe international conference on Reliable software technologies
Reverse inheritance in statically typed object-oriented programming languages
Proceedings of the 4th Workshop on MechAnisms for SPEcialization, Generalization and inHerItance
JavaGI: The Interaction of Type Classes with Interfaces and Inheritance
ACM Transactions on Programming Languages and Systems (TOPLAS)
Hi-index | 0.02 |
The arrangement of classes in a specialization hierarchy has proved to be a useful abstraction mechanism in class-based object oriented programming languages. The success of the mechanism is based on the high degree of code reuse that is offered, along with simple type conformance rules.The opposite of specialization is generalization. We will argue that support of generalization in addition to specialization will improve class reusability. A language that only supports specialization requires the class hierarchy to be constructed in a top down fashion. Support for generalization will make it possible to create super-classes for already existing classes, hereby enabling exclusion of methods and creation of classes that describe commonalties among already existing ones.We will show how generalization can coexist with specialization in class-based object oriented programming languages. Furthermore, we will verify that this can be achieved without changing the simple conformance rules or introducing new problems with name conflicts.