Smalltalk-80: the language and its implementation
Smalltalk-80: the language and its implementation
Object-oriented programming with flavors
OOPLSA '86 Conference proceedings on Object-oriented programming systems, languages and applications
The Common Lisp object system: an overview
European conference on object-oriented programming on ECOOP '87
Eiffel: a language and environment for software engineering
Journal of Systems and Software
The annotated C++ reference manual
The annotated C++ reference manual
OOPSLA/ECOOP '90 Proceedings of the European conference on object-oriented programming on Object-oriented programming systems, languages, and applications
The design and evolution of C++
The design and evolution of C++
Using role components in implement collaboration-based designs
Proceedings of the 11th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Mixin-Based Programming in C++
GCSE '00 Proceedings of the Second International Symposium on Generative and Component-Based Software Engineering-Revised Papers
Tuples and multiple return values in C++
Tuples and multiple return values in C++
Java(TM) Programming Language, The (4th Edition)
Java(TM) Programming Language, The (4th Edition)
The JastAdd system — modular extensible compiler construction
Science of Computer Programming
CZ: multiple inheritance without diamonds
Proceedings of the 24th ACM SIGPLAN conference on Object oriented programming systems languages and applications
The Qualitas Corpus: A Curated Collection of Java Code for Empirical Studies
APSEC '10 Proceedings of the 2010 Asia Pacific Software Engineering Conference
C# Programming Language
Transactions on Aspect-Oriented Software Development I
Scheme with classes, mixins, and traits
APLAS'06 Proceedings of the 4th Asian conference on Programming Languages and Systems
Hi-index | 0.00 |
Reuse of and abstraction over object initialization logic is not properly supported in mainstream object-oriented languages. This may result in significant amount of boilerplate code and proliferation of constructors in subclasses. It also makes it impossible for mixins to extend the initialization interface of classes they are applied to. We propose template constructors, which employ template parameters and pattern matching of them against signatures of superclass constructors to enable a one-to-many binding of super-calls. We demonstrate how template constructors solve the aforementioned problems. We present a formalization of the concept, a Java-based implementation, and use cases which exercise its strengths.