Advances in computers
Part III: implementing components in RESOLVE
ACM SIGSOFT Software Engineering Notes
Software Engineering
Programming Java: An Introduction to Programming Using Java
Programming Java: An Introduction to Programming Using Java
Software Engineering: A Practitioner's Approach
Software Engineering: A Practitioner's Approach
Recasting Algorithms to Encourage Reuse
IEEE Software
Interface-based programming assignments and automatic grading of java programs
Proceedings of the 12th annual SIGCSE conference on Innovation and technology in computer science education
Hi-index | 0.00 |
Current software engineering research points out the benefits of reusing the most difficult part of every project - the specification [3,4,7]. Getting the specification right so that it meets the requirements is a major challenge. Once a correct specification has been written, there may be many ways to implement it, each with different performance characteristics, each fulfilling the specifications. C++ fails to support this idea of multiple implementations of single specifications. The closest we can come is to use a header file as the specification and then place the details in a C++ source file. However, it is not possible to use the same source file for different implementations, since whatever data structure is to be used must be revealed in the header file, forcing the implementation to use it. Here we will see how it is possible to achieve this goal of multiple implementations using Java interfaces. Additionally, we will see how the introduction of generics to Java would increase these benefits tremendously.