CHF106.90
Download est disponible immédiatement
An introduction to the field for both students and those actively involved in the software industry. Object orientation is discussed before going on to introduce Java, and object oriented concepts are illustrated throughout using Java, backed by examples for readers to follow. Design is included as well as coding, and guidance is given on how to build OO applications in Java. The construction of applications, not just applets is discussed in detail, showing how to turn any application into an applet. Java style guidelines are included, meeting the latest release of Java.
Contenu
1: Introduction to 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 Constructing an Object Oriented System.- 3.1 Introduction.- 3.2 The Application: Windscreen Wipe Simulation.- 3.3 Where Do We Start?.- 3.4 Identifying the Objects.- 3.5 Identifying the Services or Methods.- 3.6 Refining the Objects.- 3.7 Bringing It All Together.- 3.8 Where Is the Structure?.- 3.9 Summary.- 3.10 Exercises.- 3.11 Further Reading.- 2: Introduction to the Java Language.- 4 A Brief History of Time, the Universe and Java.- 4.1 Introduction.- 4.2 What Is Java?.- 4.3 Objects in Java.- 4.4 History.- 4.5 Commercial Versions of Java.- 4.6 The Java Environment.- 4.7 Further Reading.- 5 A Little Java.- 5.1 Introduction.- 5.2 Setting Up the Development Environment.- 5.3 Compiling and Executing Java.- 5.4 Using the Java Debugger.- 5.5 Using the Java Documentation Tool.- 5.6 Summary.- 5.7 Further Reading.- 6 Java Building Blocks.- 6.1 Introduction.- 6.2 The Basics of the Language.- 6.3 Classes.- 6.4 Method Definitions.- 6.5 Interface Definitions.- 7 Java Constructs.- 7.1 Introduction.- 7.2 Numbers and Numeric Operators.- 7.3 Characters and Strings.- 7.4 Assignments.- 7.5 Variables.- 7.6 Messages and Message Selectors.- 7.7 Summary.- 7.8 Further Reading.- 8 An Example Java Class.- 8.1 Introduction.- 8.2 Defining a Class.- 8.3 Defining a Method.- 8.4 Creating an Instance.- 3: Java and Object Orientation.- 9 Classes, Inheritance and Abstraction.- 9.1 Introduction.- 9.2 Classes Revisited.- 9.2 Inheritance in Classes.- 9.3 Abstract Classes.- 9.4 Constructors and their Use.- 9.5 The Main Method.- 10 Encapsulation and Polymorphism.- 10.1 Introduction.- 10.2 Encapsulation.- 10.3 Packages.- 10.4 Polymorphism.- 11 Data Structures.- 11.1 Introduction.- 11.2 Data Structure Classes.- 11.3 The Abstract Class Dictionary.- 11.4 The HashTable Class.- 11.5 The Vector Class.- 11.6 The Stack Class.- 11.7 A Queue Class.- 11.8 Enumeration.- 11.9 Arrays.- 11.10 Memory Management.- 11.11 Summary.- 11.12 Further Reading.- 12 Defining Collection Classes.- 12.1 Introduction.- 12.2 The Design of the Collection Classes.- 12.3 The Collections Interface.- 12.4 The Abstract GrowableCollection Class.- 12.5 The Set Class.- 12.6 Using a Set.- 12.7 The Abstract FixedCollection Class.- 12.8 The SortedCollection Class.- 12.9 Using a Sorted Collection.- 4: Further Java.- 13 Control and Iteration.- 13.1 Introduction.- 13.2 Control Structures.- 13.3 Iteration.- 13.4 Recursion.- 13.5 Summary.- 14 An Object Oriented Organizer.- 14.1 Introduction.- 14.2 The Organizer Class.- 14.3 The Class Definition.- 14.4 The Updating Protocol.- 14.5 The Accessing Protocol.- 14.6 The Main Method.- 14.7 Exercise - the Financial Manager Project.- 15 Streams and Files.- 15.1 Introduction.- 15.2 Streams.- 15.3 Accessing a File.- 15.4 Example: Reading a File.- 15.5 Example: Writing a File.- 15.6 Reading Input from the Console.- 15.7 Summary.- 16 Serialization.- 16.1 Introduction.- 16.2 The ObjectOutputStream Class.- 16.3 The ObjectlnputStream Class.- 16.4 The Serializable Interface.- 16.5 A Simple Serialization Application.- 16.6 Exercise - Using Files with the Financial Manager.- 16.7 Summary.- 17 Observers and Observables.- 17.1 Introduction.- 17.2 The Dependency Mechanism.- 17.3 The Observer Interface.- 17.4 Extending the Dependency Example.- 17.5 Exercise - Dependency and the Financial Manager.- 17.6 Summary.- 5: Graphical Interfaces and Applets.- 18 Graphic Programming Using the AWT.- 18.1 Introduction.- 18.2 Windows as Objects.- 18.3 Windows in Java.- 18.4 The Abstract Window Toolkit.- 18.5 The Component Class.- 18.6 The Container Class.- 18.7 The Panel Class.- 18.8 The Frame Class.- 18.9 The Graphics Class.- 18.10 A Worked Graphical Application.- 18.11 Further Reading.- 19 User Interface Programming.- 19.1 Introduction.- 19.2 The Event Delegation Model.- 19.3 GUI Component Classes.- 19.4 Additional AWT Classes.- 20 Managing Component Layout.- 20.1 Introduction.- 20.2 The FlowLayout Manager.- 20.3 The BorderLayout Manager.- 20.4 The GridLayout Manager.- 20.5 The GridBagLayout Manager.- 20.6 The CardLayout Manager.- 20.7 A Simple GUI Example.- 21 A GUI Case Study.- 21.1 Introduction.- 21.2 The Class Structure.- 21.3 The Instance Structure.- 21.4 Exercise - a GUI for the Financial Manager.- 21.5 Summary.- 21.6 Further Reading.- 22 Combining Graphics and GUI Components.- 22.1 Introduction.- 22.2 The JavaDraw Application.- 22.3 The Structure of the Application.- 22.4 The Interactions between Objects.- 22.5 The Classes.- 22.6 Exercises.- 22.7 Summary.- 23 Applets and the Internet.- 23.1 Introduction.- 23.2 Applet Security.- 23.3 The Applet Class.- 23.4 Working with Applets.- 23.5 The Account Applet.- 23.6 A Brief Introduction to HTML.- 23.7 The Applet HTML Tag.- 23.8 Accessing HTML Files.- 23.9 Network Programming.- 23.10 Summary.- 23.11 Further Reading.- 6: Java Development.- 24 Java Style Guidelines.- 24.1 Introduction.- 24.2 Code Layout.- 24.3 Variables.- 24.4 Classes.- 24.5 Interfaces.- 24.6 Enumerated Types.- 24.7 Methods.- 24.8 Scoping.- 24.9 Statement Labels.- 25 Exception Handling.- 25.1 Introduction.- 25.2 What Is an Exception?.- 25.3 What Is Exception Handling?.- 25.4 Throwing an Exception.- 25.5 Catching an Exception.- 25.6 Defining an Exception.- 26 Concurrency.- 26.1 Introduction.- 26.2 Concurrent Processes.- 26.3 Threads.- 26.4 The Thread Class.- 26.5 A Time Slicing Example.- 7: Object Oriented Design.- 27 Object Oriented Analysis and Design.- 27.1 Introduction.- 27.2 Object Oriented Design Methods.- 27.3 Object Oriented Analysis.- 27.4 The Booch Method.- 27.5 The Object Modeling Technique.- 27.6 The Objectory Method.- 27.7 The Fusion Method.- 27.8 The Unified Modeling Language.- 27.9 Summary.- 28 The Unified Modeling Language.- 28.1 Introduction.- 28.2 The Meta-Model.- 28.3 The Models.- 28.4 Use Case Diagrams.- 28.5 The Object Model.- 28.6 Packages.- 28.7 Sequence Diagrams.- 28.8 Collaboration Diagrams.- 28.9 State Machine Diagrams.- 28.10 Deployment Diagrams.- 28.11 Summary.- 29 The Object Modeling Technique.- 29.1 Introduction.- 29.2 The Methodology.- 29.3 Use Case Analysis.- 29.4 Analysis Phase.- 29.5 Design Phase.- 29.6 Implementation Phase.- 29.7 Summary.- 8: The Future.- 30 Areas of Java and Object Technology not Covered.- 30.1 Introduction.- 30.2 Language Areas.- 30.3 Java Virtual Machine.- 30.4 Security and Signed Applets.- 30.5 Java Beans.- 30.6 Remote Method Invocation.- 30.7 Java Database Connectivity.- 30.8 Java and C++.- 30.9 CORBA.- 30.10 Object Oriented Databases.- 31 The Future for Object Technology.- 31.1 Introduction.- 31.2 The Java Language.- 31.3 The Web and Objects.- 31.4 Object Oriented Databases and the Web.- 31.5 JavaStation, JavaOS and Hotjava Views.- 31.6 Java as a Training Language.- 31.7 Object Technology: the Next Five Years.- Appendix A: The Java A…