Object Oriented Programming using Java
Publisher: Bookboon.com
Published: 2013
ISBN-13: 9788776815011
Table of contents: title: Content; title: 1. An Introduction to Object Orientated Programming; title: 1.1. A Brief History of Computing; title: 1.2. Different Programming Paradigms; title: 1.3. Why use the Object Orientation Paradigm?; title: 1.4. Object Oriented Principles; title: 1.5. What Exactly is Object Oriented Programming?; title: 1.6. The Benefits of the Object Oriented Programming Approach; title: 1.7. Summary; title: 2. The Unified Modelling Language (UML); title: 2.1. An Introduction to UML; title: 2.2. UML Class diagrams; title: 2.3. UML Syntax; title: 2.4. UML Package Diagrams; title: 2.5. UML Object Diagrams; title: 2.6. UML Sequence Diagrams; title: 2.7. Summary; title: 3. Inheritance and Method Overriding; title: 3.1. Object Families; title: 3.2. Generalisation and Specialisation; title: 3.3. Inheritance; title: 3.4. Implementing Inheritance in Java; title: 3.5. Constructors; title: 3.6. Constructor Rules; title: 3.7. Access Control; title: 3.8. Abstract Classes; title: 3.9. Overriding Methods; title: 3.10. The ‘Object’ Class; title: 3.11. Overriding toString() defined in ‘Object’; title: 3.12. Summary; title: 4. Object Roles and the Importance of Polymorphism; title: 4.1. Class Types; title: 4.2. Substitutability; title: 4.3. Polymorphism; title: 4.4. Extensibility; title: 4.5. Interfaces; title: 4.6. Extensibility Again; title: 4.7. Distinguishing Subclasses; title: 4.8. Summary; title: 5. Overloading; title: 5.1. Overloading; title: 5.2. Overloading To Aid Flexibility; title: 5.3. Summary; title: 6. Object Oriented Software Analysis and Design; title: 6.1. Requirements Analysis; title: 6.2. The Problem; title: 6.3. Listing Nouns and Verbs; title: 6.4. Identifying Things Outside The Scope of The System; title: 6.5. Identifying Synonyms; title: 6.6. Identifying Potential Classes; title: 6.7. Identifying Potential Attributes; title: 6.8. Identifying Potential Methods; title: 6.9. Identifying Common Characteristics; title: 6.10. Refining Our Design using CRC Cards; title: 6.11. Elaborating Classes; title: 6.12. Summary; title: 7. The Collections Framework; title: 7.1. An Introduction to Collections; title: 7.2. Collection Interfaces; title: 7.3. Old and New Collections; title: 7.4. Lists; title: 7.5. Sets; title: 7.6. Maps; title: 7.7. Collection Implementations; title: 7.8. Overview of the Collections Framework; title: 7.9. An Example Using Un-typed Collections; title: 7.10. An Example Using Typed Collections; title: 7.11. A Note About Sets; title: 7.12. Summary; title: 8. Java Development Tools; title: 8.1. Software Implementation; title: 8.2. The JRE; title: 8.3. Java Programs; title: 8.4. The JDK; title: 8.5. Eclipse; title: 8.6. Eclipse Architecture; title: 8.7. Eclipse Features; title: 8.8. NetBeans; title: 8.9. Developing Graphical Interfaces Using NetBeans; title: 8.10. Applying Layout Managers Using NetBeans; title: 8.11. Adding Action Listeners; title: 8.12. The Javadoc Tool; title: 8.13. Summary; title: 9. Creating And Using Exceptions; title: 9.1. Understanding the Importance of Exceptions; title: 9.2. Kinds of Exception; title: 9.3. Extending the Exception Class; title: 9.4. Throwing Exceptions; title: 9.5. Catching Exceptions; title: 9.6. Summary; title: 10. Agile Programming; title: 10.1. Agile Approaches; title: 10.2. Refactoring; title: 10.3. Examples of Refactoring; title: 10.4. Support for Refactoring; title: 10.5. Unit Testing; title: 10.6. Automated Unit Testing; title: 10.7. Regression Testing; title: 10.8. JUnit; title: 10.9. Examples of Assertions; title: 10.10. Several Test Examples; title: 10.11. Running Tests; title: 10.12. Test Driven Development (TDD); title: 10.13. TDD Cycles; title: 10.14. Claims for TDD; title: 10.15. Summary; title: 11. Case Study; title: 11.1. The Problem; title: 11.2. Preliminary Analysis; title: 11.3. Further Analysis; title: 11.4. Documenting the design using UML; title: 11.5. Prototyping the Interface; title: 11.6. Revising the Design to Accommodate Changing Requirements; title: 11.7. Packaging the Classes; title: 11.8. Programming the Message Classes; title: 11.9 .Programming the Client Classes; title: 11.10. Creating and Handling UnknownClientException; title: 11.11. Programming the Main classes; title: 11.12. Programming the Interface; title: 11.13. Using Test Driven Development and Extending the System; title: 11.14. Generating Javadoc; title: 11.15. Running the System and Potential Compiler Warnings; title: 11.16. The Finished System…; title: 11.17. Summary