Keynote address - data abstraction and hierarchy
OOPSLA '87 Addendum to the proceedings on Object-oriented programming systems, languages and applications (Addendum)
F-bounded polymorphism for object-oriented programming
FPCA '89 Proceedings of the fourth international conference on Functional programming languages and computer architecture
Design patterns: elements of reusable object-oriented software
Design patterns: elements of reusable object-oriented software
A behavioral notion of subtyping
ACM Transactions on Programming Languages and Systems (TOPLAS)
Pizza into Java: translating theory into practice
Proceedings of the 24th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Refactoring: improving the design of existing code
Refactoring: improving the design of existing code
Java Virtual Machine Specification
Java Virtual Machine Specification
A Retargetable C Compiler: Design and Implementation
A Retargetable C Compiler: Design and Implementation
Modern Compiler Implementation in Java
Modern Compiler Implementation in Java
Bringing dynamic languages to .NET with the DLR
Proceedings of the 2007 symposium on Dynamic languages
Programming Language Processors in Java: Compilers and Interpreters AND Concepts of Programming Languages
Efficient virtual machine support of runtime structural reflection
Science of Computer Programming
Union and intersection types to support both dynamic and static typing
Information Processing Letters
Design Patterns for Teaching Type Checking in a Compiler Construction Course
IEEE Transactions on Education
Using standards to build the DIMAG connected mobile applications framework
Computer Standards & Interfaces
Hi-index | 0.00 |
The Tease Apart Inheritance is a big refactoring technique used to separate different responsibilities tangled along a class hierarchy. This refactorization associates two parallel hierarchies through their roots in order to use one from the other. The interface of the root class in the used hierarchy is commonly too general to be employed by the classes below in the parallel hierarchy, where a more specific behavior is needed. This paper describes a design that, using two parallel class hierarchies, allows recovering the specific interface of each corresponding class in the parallel hierarchy, improving the collaboration between both hierarchies. Although different implementations of the proposed design are discussed, the use of generics offers the robustness of static type checking and better runtime performance.