Published by Pearson (April 27, 2021) © 2021
David Barnes | Michael KollingA Modern Approach to Functional Programming Objects First with Java: A Practical Introduction is an introduction to object-oriented programming for beginners. The main focus of the book is general object-oriented and programming concepts from a software engineering perspective. The first chapters are written for students with no programming experience with later chapters being more suitable for advanced or professional programmers. The Java programming language and BlueJ–the Java development environment – are the two tools used throughout the book. BlueJ's clear visualisation of classes and objects means that students can immediately appreciate the differences between them and gain a much better understanding of the nature of an object than they would from simply reading source code. Unlike traditional textbooks, the chapters are not ordered by language features but by software development concepts. The Sixth Edition goes beyond just adding the new language constructs of Java 8. The book’s exploration of this new language demonstrates a renaissance of functional ideas in modern programming. While functional programming isn’t new in principle, it’s seen a boost in popularity based on the current computer hardware available and the changing nature of projects programmers wish to tackle. Functional language constructs make it possible to efficiently automate currency, make use of multiple cores without much effort on the side of the programmer, are both more elegant and readable, and offer great potential in solving the issue of parallel hardware. Functional programming has become an essential part of the field, and Objects First with Java gives students a basic understanding of an area they’ll need to master in order to succeed in the future.
Brief Contents
Foreword
Preface
List of Projects Discussed in Detail in This Book
Acknowledgements
Part 1: Foundations of object orientation
- Objects and classes
- Understanding class definitions
- Object interaction
- Grouping objects
- Functional Processing of Collections (Advanced)
- More-sophisticated behavior
- Fixed-size collections – arrays
- Designing classes
- Well-behaved objects
Part 2: Application structures
- Improving structure with inheritance
- More about inheritance
- Further abstraction techniques
- Building graphical user interfaces
- Handling errors
- Designing applications
- A case study
Appendices
- Working with a BlueJ project
- Java data types
- Operators
- Java control structures
- Running Java without BlueJ
- Using the debugger
- Unit unit-testing tools
- Teamwork tools
- Javadoc
- Program style guide
- Important library classes