Keynote address - data abstraction and hierarchy
OOPSLA '87 Addendum to the proceedings on Object-oriented programming systems, languages and applications (Addendum)
Design patterns: elements of reusable object-oriented software
Design patterns: elements of reusable object-oriented software
Object-oriented software construction (2nd ed.)
Object-oriented software construction (2nd ed.)
On the usability of OO representations
Communications of the ACM
Object centered design for Java: teaching OOD in CS-1
SIGCSE '03 Proceedings of the 34th SIGCSE technical symposium on Computer science education
Computer
ASWEC '98 Proceedings of the Australian Software Engineering Conference
Understanding the Impact of Language Features on Reusability
ICSR '96 Proceedings of the 4th International Conference on Software Reuse
ACM SIGCSE Bulletin
Can graduating students design: revisited
Proceedings of the 42nd ACM technical symposium on Computer science education
Hi-index | 0.00 |
Meaningful applications of inheritance are critical in devising good object-oriented solutions. Yet, not being able to use effectively and correctly inheritance in problem solving is perhaps the most significant impediment for students to become competitive object-oriented thinkers. This article provides a summary of common uses of type inheritance. It also describes the situations where type inheritance can be inappropriate or, at least, subject to reevaluation. More importantly, it brings an attention to the distinction between the mechanics and the semantics of inheritance. The article closes with an example that illustrates the use of inheritance in light of other alternatives. Finally, the article briefly discusses the implications.