Objects First with Java: A Practical Introduction Using BlueJ, Global Edition

Lýsing:
The full text downloaded to your computer With eBooks you can: search for key concepts, words and phrases make highlights and notes as you study share your notes with friends eBooks are downloaded to your computer and accessible either offline through the Bookshelf (available as a free download), available online and also via the iPad and Android apps. Upon purchase, you will receive via email the code and instructions on how to access this product.
Time limit The eBooks products do not have an expiry date. You will continue to access your digital ebook products whilst you have your Bookshelf installed. A 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 visualization 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.
Annað
- Höfundur: David J. Barnes
- Útgáfa:6
- Útgáfudagur: 2016-06-14
- Blaðsíður: 664
- Hægt að prenta út 2 bls.
- Hægt að afrita 2 bls.
- Format:Page Fidelity
- ISBN 13: 9781292159089
- Print ISBN: 9781292159041
- ISBN 10: 1292159081
Efnisyfirlit
- Title Page
- Copyright Page
- Contents
- Foreword
- Preface
- List of Projects Discussed in Detail in This Book
- Acknowledgments
- Part 1 Foundations of Object Orientation
- Chapter 1 Objects and Classes
- 1.1 Objects and classes
- 1.2 Creating objects
- 1.3 Calling methods
- 1.4 Parameters
- 1.5 Data types
- 1.6 Multiple instances
- 1.7 State
- 1.8 What is in an object?
- 1.9 Java code
- 1.10 Object interaction
- 1.11 Source code
- 1.12 Another example
- 1.13 Return values
- 1.14 Objects as parameters
- 1.15 Summary
- Chapter 2 Understanding Class Definitions
- 2.1 Ticket machines
- 2.2 Examining a class definition
- 2.3 The class header
- 2.4 Fields, constructors, and methods
- 2.5 Parameters: receiving data
- 2.6 Assignment
- 2.7 Methods
- 2.8 Accessor and mutator methods
- 2.9 Printing from methods
- 2.10 Method summary
- 2.11 Summary of the naíve ticket machine
- 2.12 Reflecting on the design of the ticket machine
- 2.13 Making choices: the conditional statement
- 2.14 A further conditional-statement example
- 2.15 Scope highlighting
- 2.16 Local variables
- 2.17 Fields, parameters, and local variables
- 2.18 Summary of the better ticket machine
- 2.19 Self-review exercises
- 2.20 Reviewing a familiar example
- 2.21 Calling methods
- 2.22 Experimenting with expressions: the Code Pad
- 2.23 Summary
- Chapter 3 Object Interaction
- 3.1 The clock example
- 3.2 Abstraction and modularization
- 3.3 Abstraction in software
- 3.4 Modularization in the clock example
- 3.5 Implementing the clock display
- 3.6 Class diagrams versus object diagrams
- 3.7 Primitive types and object types
- 3.8 The NumberDisplay class
- 3.9 The ClockDisplay class
- 3.10 Objects creating objects
- 3.11 Multiple constructors
- 3.12 Method calls
- 3.13 Another example of object interaction
- 3.14 Using a debugger
- 3.15 Method calling revisited
- 3.16 Summary
- Chapter 4 Grouping Objects
- 4.1 Building on themes from Chapter 3
- 4.2 The collection abstraction
- 4.3 An organizer for music files
- 4.4 Using a library class
- 4.5 Object structures with collections
- 4.6 Generic classes
- 4.7 Numbering within collections
- 4.8 Playing the music files
- 4.9 Processing a whole collection
- 4.10 Indefinite iteration
- 4.11 Improving structure—the Track class
- 4.12 The Iterator type
- 4.13 Summary of the music-organizer project
- 4.14 Another example: an auction system
- 4.15 Summary
- Chapter 5 Functional Processing of Collections (Advanced)
- 5.1 An alternative look at themes from Chapter 4
- 5.2 Monitoring animal populations
- 5.3 A first look at lambdas
- 5.4 The forEach method of collections
- 5.5 Streams
- 5.6 Summary
- Chapter 6 More-Sophisticated Behavior
- 6.1 Documentation for library classes
- 6.2 The TechSupport system
- 6.3 Reading class documentation
- 6.4 Adding random behavior
- 6.5 Packages and import
- 6.6 Using maps for associations
- 6.7 Using sets
- 6.8 Dividing strings
- 6.9 Finishing the TechSupport system
- 6.10 Autoboxing and wrapper classes
- 6.11 Writing class documentation
- 6.12 Public versus private
- 6.13 Learning about classes from their interfaces
- 6.14 Class variables and constants
- 6.15 Class methods
- 6.16 Executing without BlueJ
- 6.17 Further advanced material
- 6.18 Summary
- Chapter 7 Fixed-Size Collections—Arrays
- 7.1 Fixed-size collections
- 7.2 Arrays
- 7.3 A log-file analyzer
- 7.4 The for loop
- 7.5 The automaton project
- 7.6 Arrays of more than one dimension (advanced)
- 7.7 Arrays and streams (advanced)
- 7.8 Summary
- Chapter 8 Designing Classes
- 8.1 Introduction
- 8.2 The world-of-zuul game example
- 8.3 Introduction to coupling and cohesion
- 8.4 Code duplication
- 8.5 Making extensions
- 8.6 Coupling
- 8.7 Responsibility-driven design
- 8.8 Localizing change
- 8.9 Implicit coupling
- 8.10 Thinking ahead
- 8.11 Cohesion
- 8.12 Refactoring
- 8.13 Refactoring for language independence
- 8.14 Design guidelines
- 8.15 Summary
- Chapter 9 Well-Behaved Objects
- 9.1 Introduction
- 9.2 Testing and debugging
- 9.3 Unit testing within BlueJ
- 9.4 Test automation
- 9.5 Refactoring to use with streams (advanced)
- 9.6 Debugging
- 9.7 Commenting and style
- 9.8 Manual walkthroughs
- 9.9 Print statements
- 9.10 Debuggers
- 9.11 Debugging streams (advanced)
- 9.12 Choosing a debugging strategy
- 9.13 Putting the techniques into practice
- 9.14 Summary
- Chapter 1 Objects and Classes
- Chapter 10 Improving Structure with Inheritance
- 10.1 The network example
- 10.2 Using inheritance
- 10.3 Inheritance hierarchies
- 10.4 Inheritance in Java
- 10.5 Network: adding other post types
- 10.6 Advantages of inheritance (so far)
- 10.7 Subtyping
- 10.8 The Object class
- 10.9 The collection hierarchy
- 10.10 Summary
- Chapter 11 More about Inheritance
- 11.1 The problem: network’s display method
- 11.2 Static type and dynamic type
- 11.3 Overriding
- 11.4 Dynamic method lookup
- 11.5 super call in methods
- 11.6 Method polymorphism
- 11.7 Object methods: toString
- 11.8 Object equality: equals and hashCode
- 11.9 Protected access
- 11.10 The instanceof operator
- 11.11 Another example of inheritance with overriding
- 11.12 Summary
- Chapter 12 Further Abstraction Techniques
- 12.1 Simulations
- 12.2 The foxes-and-rabbits simulation
- 12.3 Abstract classes
- 12.4 More abstract methods
- 12.5 Multiple inheritance
- 12.6 Interfaces
- 12.7 A further example of interfaces
- 12.8 The Class class
- 12.9 Abstract class or interface?
- 12.10 Event-driven simulations
- 12.11 Summary of inheritance
- 12.12 Summary
- Chapter 13 Building Graphical User Interfaces
- 13.1 Introduction
- 13.2 Components, layout, and event handling
- 13.3 AWT and Swing
- 13.4 The ImageViewer example
- 13.5 ImageViewer 1.0: the first complete version
- 13.6 ImageViewer 2.0: improving program structure
- 13.7 ImageViewer 3.0: more interface components
- 13.8 Inner classes
- 13.9 Further extensions
- 13.10 Another example: MusicPlayer
- 13.11 Summary
- Chapter 14 Handling Errors
- 14.1 The address-book project
- 14.2 Defensive programming
- 14.3 Server error reporting
- 14.4 Exception-throwing principles
- 14.5 Exception handling
- 14.6 Defining new exception classes
- 14.7 Using assertions
- 14.8 Error recovery and avoidance
- 14.9 File-based input/output
- 14.10 Summary
- Chapter 15 Designing Applications
- 15.1 Analysis and design
- 15.2 Class design
- 15.3 Documentation
- 15.4 Cooperation
- 15.5 Prototyping
- 15.6 Software growth
- 15.7 Using design patterns
- 15.8 Summary
- Chapter 16 A Case Study
- 16.1 The case study
- 16.2 Analysis and design
- 16.3 Class design
- 16.4 Iterative development
- 16.5 Another example
- 16.6 Taking things further
- A.1 Installing BlueJ
- A.2 Opening a project
- A.3 The BlueJ debugger
- A.4 Configuring BlueJ
- A.5 Changing the interface language
- A.6 Using local API documentation
- A.7 Changing the new class templates
- B.1 Primitive types
- B.2 Casting of primitive types
- B.3 Object types
- B.4 Wrapper classes
- B.5 Casting of object types
- C.1 Arithmetic expressions
- C.2 Boolean expressions
- C.3 Short-circuit operators
- D.1 Control structures
- D.2 Selection statements
- D.3 Loops
- D.4 Exceptions
- D.5 Assertions
- E.1 Executing without BlueJ
- E.2 Creating executable .jar files
- E.3 Developing without BlueJ
- F.1 Breakpoints
- F.2 The control buttons
- F.3 The variable displays
- F.4 The Call Sequence display
- F.5 The Threads display
- G.1 Enabling unit-testing functionality
- G.2 Creating a test class
- G.3 Creating a test method
- G.4 Test assertions
- G.5 Running tests
- G.6 Fixtures
- H.1 Server setup
- H.2 Enabling teamwork functionality
- H.3 Sharing a project
- H.4 Using a shared project
- H.5 Update and commit
- H.6 More information
- I.1 Documentation comments
- I.2 BlueJ support for javadoc
- J.1 Naming
- J.2 Layout
- J.3 Documentation
- J.4 Language-use restrictions
- J.5 Code idioms
- K.1 The java.lang package
- K.2 The java.util package
- K.3 The java.io and java.nio.file packages
- K.4 The java.util.function package
- K.5 The java.net package
- K.6 Other important packages
- A
- B
- C
- D
- E
- F
- G
- H
- I
- J
- K
- L
- M
- N
- O
- P
- R
- S
- T
- U
- V
- W
UM RAFBÆKUR Á HEIMKAUP.IS
Bókahillan þín er þitt svæði og þar eru bækurnar þínar geymdar. Þú kemst í bókahilluna þína hvar og hvenær sem er í tölvu eða snjalltæki. Einfalt og þægilegt!Rafbók til eignar
Rafbók til eignar þarf að hlaða niður á þau tæki sem þú vilt nota innan eins árs frá því bókin er keypt.
Þú kemst í bækurnar hvar sem er
Þú getur nálgast allar raf(skóla)bækurnar þínar á einu augabragði, hvar og hvenær sem er í bókahillunni þinni. Engin taska, enginn kyndill og ekkert vesen (hvað þá yfirvigt).
Auðvelt að fletta og leita
Þú getur flakkað milli síðna og kafla eins og þér hentar best og farið beint í ákveðna kafla úr efnisyfirlitinu. Í leitinni finnur þú orð, kafla eða síður í einum smelli.
Glósur og yfirstrikanir
Þú getur auðkennt textabrot með mismunandi litum og skrifað glósur að vild í rafbókina. Þú getur jafnvel séð glósur og yfirstrikanir hjá bekkjarsystkinum og kennara ef þeir leyfa það. Allt á einum stað.
Hvað viltu sjá? / Þú ræður hvernig síðan lítur út
Þú lagar síðuna að þínum þörfum. Stækkaðu eða minnkaðu myndir og texta með multi-level zoom til að sjá síðuna eins og þér hentar best í þínu námi.
Fleiri góðir kostir
- Þú getur prentað síður úr bókinni (innan þeirra marka sem útgefandinn setur)
- Möguleiki á tengingu við annað stafrænt og gagnvirkt efni, svo sem myndbönd eða spurningar úr efninu
- Auðvelt að afrita og líma efni/texta fyrir t.d. heimaverkefni eða ritgerðir
- Styður tækni sem hjálpar nemendum með sjón- eða heyrnarskerðingu
- Gerð : 208
- Höfundur : 9670
- Útgáfuár : 2016
- Leyfi : 380