Design patterns: elements of reusable object-oriented software
Design patterns: elements of reusable object-oriented software
Java how to program
Java for students
Computing with Java: programs, objects, graphics
Computing with Java: programs, objects, graphics
Computing with Java: programs, objects, graphics
Computing with Java: programs, objects, graphics
Microcomputer Applications in Qualitative Research
Microcomputer Applications in Qualitative Research
An Introduction to Object-Oriented Programming with Java
An Introduction to Object-Oriented Programming with Java
Java Gently
An Introduction to Computer Science: Using Java
An Introduction to Computer Science: Using Java
Introduction to Program Using Java: An Object-Oriented Approach
Introduction to Program Using Java: An Object-Oriented Approach
Java by Dissection: The Essentials of Java Programming
Java by Dissection: The Essentials of Java Programming
Java: An Introduction to Computing
Java: An Introduction to Computing
On to Java
Introduction to Java Programming
Introduction to Java Programming
Problem Solving with Java
Computing Concepts with Java Essentials
Computing Concepts with Java Essentials
Java Software Solutions, AP Version
Java Software Solutions, AP Version
Java: An Introduction to Problem Solving and Programming (4th Edition)
Java: An Introduction to Problem Solving and Programming (4th Edition)
Object-Oriented Program Development Using Java: A Class Centered Approach: A Class Centered Approach
Object-Oriented Program Development Using Java: A Class Centered Approach: A Class Centered Approach
Absolute Java
Java: An Eventful Approach
Java, Java, Java, Object-Oriented Problem Solving (3rd Edition)
Java, Java, Java, Object-Oriented Problem Solving (3rd Edition)
On the Quality of Examples in Introductory Java Textbooks
ACM Transactions on Computing Education (TOCE)
SpecCheck: automated generation of tests for interface conformance
Proceedings of the 17th ACM annual conference on Innovation and technology in computer science education
Hi-index | 0.00 |
Java's interface construct allows for a clear distinction between subtype polymorphism based on a shared interface and code reuse based on class extension or inheritance. Design Patterns argues that in an object-oriented setting, programming should be done to an interface, not to an implementation, that class inheritance is a mechanism for code reuse rather than for subtyping and polymorphism, and that even composition should be favored over class inheritance. We conclude from this that interface should be introduced prior to and given more focus than classes and class inheritance. We survey 27 textbooks from major publishers to show that very few available texts teach Java this way. We propose an alternative ordering of material that will promote the principles mentioned above.