Java for Practitioners doesn just provide an introduction to Java, it also tells you all about object orientation. One of the biggest problems with many of the Java books currently on the market is that they only teach the language and ignore the object orientation aspects (or at best just devote one chapter to it). Not only does John Hunt cover both Java and object orientation thoroughly but he also realises that practitioners learn best by oing'and he writes this book to reflect that. Chapters are dippable-into and ideas and concepts are introduced by exercises and practical examples. The book does of course cover the new release - Java 2/JDK 1.2 - and it also includes the Java Self-Tester which lets readers determine whether they are ready to take Sun's Java Certification exam. There is also an essential reference section which provides detailed solutions to real world Java problems, and new Java features. No one intending to move over to Java should be without this book.
1 Java and Object Orientation.- 1 Introduction to Object Orientation.- 1.1 Introduction.- 1.2 Programming Paradigms.- 1.3 Revolution Versus Evolution.- 1.4 Why Learn a New Programming Paradigm?.- 1.5 Pedigree of Object-Oriented Languages.- 1.6 Fundamentals of Object Orientation.- 1.7 The Basic Principles of Object Orientation.- 1.8 Encapsulation.- 1.9 Inheritance.- 1.10 Abstraction.- 1.11 Polymorphism.- 1.12 Summary.- 1.13 Further Reading.- 2 Elements of Object Orientation.- 2.1 Introduction.- 2.2 Terminology.- 2.3 Types of Hierarchy.- 2.4 The Move to Object Technology.- 2.5 Summary.- 2.6 Exercises.- 2.7 Further Reading.- 3 Why Object Orientation?.- 3.1 Introduction.- 3.2 The Procedural Approach.- 3.3 Does Object Orientation Do Better?.- 3.4 Summary.- 4 Constructing an Object-Oriented System.- 4.1 Introduction.- 4.2 The Application: Windscreen Wipe Simulation.- 4.3 Where Do We Start?.- 4.4 Identifying the Objects.- 4.5 Identifying the Services or Methods.- 4.6 Refining the Objects.- 4.7 Bringing It All Together.- 4.8 Where Is the Structure?.- 4.9 Summary.- 4.10 Exercise.- 4.11 Further Reading.- 5 A Brief History of Time, the Universe and Java.- 5.1 Introduction.- 5.2 What Is Java?.- 5.3 Objects in Java.- 5.4 History.- 5.5 Commercial Versions of Java.- 5.6 The Java Environment.- 5.7 Further Reading.- 6 Java 2 Platform: Java’s Third Age?.- 6.1 The Three Ages of Java.- 6.2 So What’s in the Java 2 Platform?.- 6.3 Analysis of the Java 2 Platform.- 6.4 Conclusions.- 6.5 Online References.- 7 Basic Java.- 7.1 Introduction.- 7.2 Setting Up the Development Environment.- 7.3 Compiling and Executing Java.- 7.4 Using the Java Debugger.- 7.5 Using the Java Documentation Tool.- 7.6 Summary.- 7.7 Further Reading.- 8 Java Building Blocks.- 8.1 Introduction.- 8.2 The Basics of the Language.- 8.3 Classes.- 8.4 Method Definitions.- 8.5 Interface Definitions.- 9 Java Constructs.- 9.1 Introduction.- 9.2 Numbers and Numeric Operators.- 9.3 Characters and Strings.- 9.4 Assignments.- 9.5 Variables.- 9.6 Messages and Message Selectors.- 9.7 Exercise: Hello World.- 9.8 Summary.- 10 Control and Iteration.- 10.1 Introduction.- 10.2 Control Structures.- 10.3 Iteration.- 10.4 Recursion.- 10.5 Exercise: Factorial.- 10.6 Summary.- 11 The Person Class.- 11.1 Introduction.- 11.2 Defining a Class.- 11.3 Defining a Method.- 11.4 Creating an Instance.- 11.5 Exercise: Person.- 12 Classes, Inheritance and Abstraction.- 12.1 Introduction.- 12.2 Classes Revisited.- 12.3 Inheritance in Classes.- 12.4 Abstract Classes.- 12.5 Constructors and Their Use.- 12.6 The main Method.- 13 Encapsulation and Polymorphism.- 13.1 Introduction.- 13.2 Encapsulation.- 13.3 Packages.- 13.4 Polymorphism.- 13.5 Exercise: Managers and Employees.- 14 Data Structures.- 14.1 Introduction.- 14.2 Data Structure Classes.- 14.3 The Abstract Class Dictionary.- 14.4 The Hashtable Class.- 14.5 The Vector Class.- 14.6 The Stack Class.- 14.7 A Queue Class.- 14.8 Enumeration.- 14.9 Arrays.- 14.10 Memory Management.- 14.11 Exercise: Vectors.- 14.12 Summary.- 14.13 Further Reading.- 15 The Collection API.- 15.1 Introduction.- 15.2 What Is in the Collections API?.- 15.3 Collection Interfaces.- 15.4 Abstract Implementations.- 15.5 Concrete Implementations.- 15.6 The Collections class.- 15.7 Iteration Over Collections.- 15.8 Array Sorting and Searching.- 15.9 Choosing a Collection Class.- 15.10 Summary.- 16 An Object-Oriented Organizer.- 16.1 Introduction.- 16.2 The Organizer Class.- 16.3 The Class Definition.- 16.4 The Updating Protocol.- 16.5 The Accessing Protocol.- 16.6 The Main Method.- 16.7 Exercise: the Financial Manager Project.- 2 Java Developers’ Handbook.- 17 Graphic Programming Using the Abstract Window Toolkit.- 17.1 Introduction.- 17.2 Windows as Objects.- 17.3 Windows in Java.- 17.4 The Abstract Window Toolkit.- 17.5 The Component Class.- 17.6 The Container Class.- 17.7 The Panel Class.- 17.8 The Frame Class.- 17.9 The Graphics Class.- 17.10 A Worked Graphical Application.- 17.11 Exercise: Graphical Hello World.- 17.12 Advanced Exercise: Graphing.- 17.13 Further Reading.- 18 User Interface Programming.- 18.1 Introduction.- 18.2 The Event Delegation Model.- 18.3 GUI Component Classes.- 18.4 Additional AWT Classes.- 18.5 Exercise: Text Editor.- 19 Managing Component Layout.- 19.1 Introduction.- 19.2 The FlowLayout Manager.- 19.3 The BorderLayout Manager.- 19.4 The GridLayout Manager.- 19.5 The GridBagLayout Manager.- 19.6 The CardLayout Manager.- 19.7 A Simple GUI Example.- 19.8 Exercise: GUIs in Java.- 20 Putting the Swing into Java.- 20.1 Introduction.- 20.2 Swing, the JFC and the JDK.- 20.3 What is the MVC?.- 20.4 Swinging the MVC into Action.- 20.5 Transitioning to Swing.- 20.6 A Swinging Gallery.- 20.7 Things to Remember.- 20.8 References.- Online References.- 21 Swing Data Model Case Study.- 21.1 Introduction.- 21.2 The JTree Swing Component.- 21.3 The JTree Package.- 21.4 Building the Data Model.- 21.5 Building the GUI Application.- 21.6 Online Resources.- 22 Observers and Observables.- 22.1 Introduction.- 22.2 The Dependency Mechanism.- 22.3 The Observer Interface.- 22.4 Extending the Dependency Example.- 22.5 Exercise: Dependency and the Financial Manager.- 22.6 Summary.- 23 A GUI Case Study.- 23.1 Introduction.- 23.2 The Class Structure.- 23.3 The Instance Structure.- 23.4 Exercise: a GUI for the Financial Manager.- 23.5 Summary.- Further Reading.- 24 Combining Graphics and GUI Components.- 24.1 Introduction.- 24.2 The SwingDraw Application.- 24.3 The Structure of the Application.- 24.4 The Interactions Between Objects.- 24.5 The Classes.- 24.6 Exercises.- 24.7 Summary.- 24.8 Reference.- 25 Applets and the Internet.- 25.1 Introduction.- 25.2 Applet Security.- 25.3 The Applet Class.- 25.4 Working with Applets.- 25.5 The Account Applet.- 25.6 A Brief Introduction to HTML.- 25.7 The HTML Tag.- 25.8 Accessing HTML Files.- 25.9 Network Programming.- 25.10 Summary.- 25.11 Further Reading.- 25.12 Exercise: Tic-Tac-Toe Applet.- 26 Concurrency.- 26.1 Introduction.- 26.2 Concurrent Processes.- 26.3 Threads.- 26.4 The Thread Class.- 26.5 A Time-Slicing Example.- 26.6 Thread Interaction.- 27 Exception Handling.- 27.1 Introduction.- 27.2 What Is an Exception?.- 27.3 What Is Exception Handling?.- 27.4 Throwing an Exception.- 27.5 Catching an Exception.- 27.6 Defining an Exception.- 27.7 Exercise: Custom Exceptions.- 28 Streams and Files.- 28.1 Introduction.- 28.2 Streams.- 28.3 Files.- 28.4 Accessing a File.- 28.5 Creating a File.- 28.6 Input from the Console.- 28.7 Exercise: IO for the Text Editor.- 28.8 Summary.- 29 Serialization.- 29.1 Introduction.- 29.2 The ObjectOutputStream Class.- 29.3 The ObjectInputStreamclass.- 29.4 The Serializable Interface.- 29.5 A Simple Serialization Application.- 29.6 Exercise: Using Files with the Financial Manager.- 29.7 Summary.- 30 Sockets in Java.- 30.1 Introduction.- 30.2 Socket to Socket Communication.- 30.3 Setting up a Connection.- 30.4 An Example Client-Server Application.- 30.5 Further Reading.- 31 Java and Remote Method Invocation.- 31.1 Introduction.- 31.2 Remote Method Invocation.- 31.3 The RMIClient.- 31.4 Converting to an Applet.- 31.5 Performance.- 31.6 Exercise: RMI Hello World.- 32 Servlets: Serving Java up on the Web.- 32.1 Introduction.- 32.2 How Servlets Work.- 32.3 The Structure of the Servlet API.- 32.4 An Example Servlet.- 32.5 Why Use Servlets?.- 32.6 Summary.- 32.7 Further Reading.- 33 Java Database Connectivity.- 33.1 Introduction.- 33.2 What Is JDBC?.- 33.3 What the Driver Provides.- 33.4 Registering Drivers.- 33.5 Opening a Connection.- 33.6 Obtaining Data from a Database.- 33.7 Creating a Table.- 33.8 Applets and Databases.- 33.9 Online References.- 33.10 References.- 33.11 Mini SQL.- 34 JavaBeans Software Components.- 34.1 Introduction.- 34.2 JavaBeans.- 34.3 Defining JavaBeans.- 34.4 Summary.- 34.5 References.- 35 Java Native Interface.- 35.1 Introduction.- 35.2 Properties of the Java Native Interface.- 35.3 The Basics of the JNI.- 35.4 Parameter Passing.- 35.5 Exercise: Native Hello World.- 36 Byte Code Protection.- 36.1 Introduction.- 37 Java, IDL and Object Request Brokers.- 37.1 Introduction.- 37.2 CORBA.- 37.3 Java IDL.- 37.4 Online References.- 38 Inner Classes and Reflection.- 38.1 Introduction.- 38.2 What Are Inner Classes?.- 38.3 Types of Inner Class.- 38.4 How and When Should I Use Inner Classes?.- 38.5 The Reflection API.- 3 Java Art and Style.- 39 Java Style Guidelines.- 39.1 Introduction.- 39.2 Code Layout.- 39.3 Variables.- 39.4 Classes.- 39.5 Interfaces.- 39.6 Enumerated Types.- 39.7 Methods.- 39.8 Scoping.- 39.9 Statement Labels.- 39.10 Reference.- 40 Common Java Bugs and Programmer Errors.- 40.1 Introduction.- 40.2 Programmer errors.- 40.3 Language Weaknesses.- 40.4 References.- 41 Reliable Java Systems.- 41.1 Introduction.- 41.2 Impact.- 41.3 Minimization Strategies.- 41.4 Consequences for Java Software Development.- 41.5 Further Reading and References.- 42 Performance Optimization.- 42.1 Introduction.- 42.2 Further Reading.- 43 Java Self-Test Examination.- 43.1 Introduction.- 43.2 Java Multiple Choice Exam.- 43.3 Answers to Java Certification Mock Exam.- 43.4 Further Reading.- 4 Object-Oriented Design.- 44 Object-Oriented Analysis and Design.- 44.1 Introduction.- 44.2 Object-Oriented Design Methods.- 44.3 Object-Oriented Analysis.- 44.4 The Booch Method.- 44.5 The Object Modeling Technique.- 44.6 The Objectory Method.- 44.7 The Fusion Method.- 44.8 The Unified Modeling Language.- 44.9 Summary.- 44.10 References.- 45 OMT and UML.- 45.1 Introduction.- 45.2 Objectory: Use Case Analysis.- 45.3 The OMT Methodology.- 45.4 The UML Notation.- 45.5 Combining the Three Approaches.- 46 Use Case Analysis.- 46.1 Introduction.- 46.2 Use Case Diagrams.- 46.3 Actors.- 46.4 Use Cases.- 46.5 Use Case Models.- 46.6 Interface Descriptions.- 46.7 Online ATM Use Case Analysis.- 47 The Analysis Phase: Object Modelling.- 47.1 Introduction.- 47.2 The Object Model.- 47.3 Identifying Classes.- 47.4 Preparing a Data Dictionary.- 47.5 Identifying Associations.- 47.6 Identifying Attributes.- 47.7 Identifying Inheritance.- 47.8 Composites.- 47.9 Testing Access Paths.- 47.10 Iterating and Refining the Model.- 47.11 Grouping Classes into Packages.- 47.12 Reference.- 48 The Analysis Phase: Dynamic Modelling.- 48.1 Introduction.- 48.2 Identifying Scenarios.- 48.3 Identification of Events.- 48.4 Preparation of Sequence and Collaboration Diagrams.- 48.5 Constructing Sequence and Collaboration Diagrams.- 48.6 State Machine Diagrams.- 48.7 References.- 49 Functional Modelling and Operations.- 49.1 Introduction.- 49.2 Pseudocode with the Object Navigation Notation.- 49.3 The Online ATM System Functional Model.- 49.4 Adding Operations.- 49.5 Identifying Operations for the Online ATM System.- 50 The Design and Implementation Phases.- 50.1 Introduction.- 50.2 Design Phase.- 50.3 Implementation Phase.- 50.4 Summary.- 5 The Future.- 51 The Future for Java.- 51.1 Introduction.- 51.2 The Java Language.- 51.3 The Web and Objects.- 51.4 Object-Oriented Databases and the Web.- 51.5 JavaStation, JavaOS and HotJava Views.- 51.6 Java as a Training Language.- 51.7 Object Technology: the Next Five Years.- 51.9 References.- Appendices.- A Java 1.1.* Core API Packages.- B The java.lang Package.- C The java.util Package.- D The java.io Package.- E The java.awt Package.- F The java.awt.event Package.- G The java.awt.image Package.- H Java Keywords.- I Java 2 Core API Packages.
1997-2024 DolnySlask.com Agencja Internetowa