By David J. Barnes
Descripción: This is the sixth edition of this book, and—as always with a new edition—the content has been adapted to the latest developments in object-oriented programs. Many of the changes this time can, on the surface, be attributed to a new version of Java: Java 8. This version was released in 2014 and is now very widely used in practice. In fact, it is the fastest adoption of any new Java version ever released; so it is time also to change the way we teach novice students. The changes are, however, more than merely the addition of a few new language constructs. The most significant new aspects in Java 8 center around new constructs to support a (partial) functional programming style. And it is the growing popularity of functional programming that is driving this change. The difference is much deeper, and much more fundamental, than just adding new syntax. And it is the renaissance of the functional ideas in modern programming generally—not only the existence of Java 8—that makes it timely to cover these aspects in a modern edition of a programming textbook. The ideas and techniques of functional programming, while fairly old and well known in principle, have seen a marked boost of popularity in recent years, with new languages being developed and selected functional techniques being incorporated into existing, traditionally imperative languages. One of the primary reasons for this is the change in computing hardware available, and also the changing nature of problems we wish to tackle.
Contenido: Chapter 1 Objects and Classes
Chapter 2 Understanding Class Definitions
Chapter 3 Object Interaction
Chapter 4 Grouping Objects
Chapter 5 Functional Processing of Collections (Advanced)
Chapter 6 More-Sophisticated Behavior
Chapter 7 Fixed-Size Collections—Arrays
Chapter 8 Designing Classes
Chapter 9 Well-Behaved Objects
Chapter 10 Improving Structure with Inheritance
Chapter 11 More about Inheritance
Chapter 12 Further Abstraction Techniques
Chapter 13 Building Graphical User Interfaces
Chapter 14 Handling Errors
Chapter 15 Designing Applications
Chapter 16 A Case Study
Material: