How to Use This Book and Web Resources
1 Object-oriented Programming Basics
1.3.1 Structured Programming Paradigm
1.3.2 C: A Workhorse that Works Well
1.3.4 Object-oriented Programming Paradigm
1.4 History and Development of Object-oriented Languages
1.5 Software Development Methodologies
1.7 Object-oriented Language Features
1.7.1 Object-based Programming
1.7.2 Object-oriented Programming
1.8 Definition of OOP Language Classes and Objects
1.8.1 Attributes and Behaviours of Objects
1.8.4 Data Hiding/Data Abstraction
1.9 Extendibility and Reusability of OOP Paradigms
1.10 Extending/Deriving New Classes
1.10.1 Containment: Class Within a Class – Container Class
1.10.2 Inheritance and Class Hierarchy
1.10.3 Single and Multiple Inheritances
1.12 Run-time Polymorphism and Dynamic Data Binding
1.13 Class as Abstract Data Type (ADT)
1.14 Standard Template Library (STL)
1.15 OOPS – Object-oriented Programming and Systems
1.16 Object-oriented Analysis and Design (OOAD)
Solutions to Objective Questions
2.4.2 Notations and Meta Models
2.8.2 Hierarchies with Interdependent Classes
2.8.3 Hierarchies with Independent Classes
2.10 Communications and Message Passing
2.13.1 OOPS – A Case Study in Object Modelling
Solutions to Objective Questions
3 Extensibility and Reusability – Inheritance at Work
3.1 Extendibility and Reusability of OOP Paradigm
3.2 Extending/Deriving New Classes
3.2.1 Containment: Class within a Class – Container Class
3.2.2 Inheritance and Class Hierarchy
3.2.3 Generalization vs Specialization
3.3 Overriding Base Class Functions
3.5 Single and Multiple Inheritances
3.7 Problems with Multiple Inheritance
3.9 Access Specifiers in Inheritance
3.10 Run-time-type Information – RTTI
3.13 Run-time Polymorphism and Dynamic Data Binding
3.14 Class as Abstract Data Type
3.15 Separation of Behaviour and Implementation
3.17 Standard Template Library
Solutions to Objective Questions
4.1 Introduction to Static and Dynamic Modelling
4.3 Unified Modelling Language – A Tool for OOAD
4.3.2 Classification of UML Diagrams
4.4 User Requirements – Use Cases
4.5 Architecture and Domain: What Are They?
4.7 Collaboration (Communication) Diagram
4.8.1 Activity/Action and Operations
4.10 Packages and Components – A Way to Organize Large and Complex Projects
4.11 Component and Deployment Diagram
Solutions to Objective Questions
5 Analysis and Design Methodologies
5.2 Stages and Methodologies for Systems Development
5.2.1 Methodologies for Software Development
5.2.2 Systems Development Life Cycle (SDLC)
5.3 Structured Analysis and Design (SASD)
5.3.1 Conceptual Design – Functional Modelling and Data Modelling
5.3.3 Analysis and Design Techniques and Tools
5.3.9 Entity Relationship Diagram
5.4 Case Study on Structured Analysis and Design
5.4.1 Example of Statement of Purpose
5.4.6 Entity Relationship Diagrams
5.4.7 Process Specifications – SSCS
5.4.8 Structured Analysis and Design – Advantages and Disadvantages
5.5 Object-oriented Software Analysis and Design (OOAD)
5.5.1 Different Models for Object Analysis
5.8 Comparison of SASD and OOAD Methodologies
Solutions to Objective Questions
6 C++ Fundamentals and Basic Programming
6.2 History and Development of Object-oriented Languages like C++
6.3 Object-oriented Language Features
6.4.3 C++ Development Environment
6.5 Further Sample Programs of C++
6.5.1 Execution of a Program in a Loop
6.5.3 Use of Structure to Implement Problem
6.6.1 Console IO Functions – Commands getchar() and putchar()
6.6.2 Console IO Functions – Commands gets and puts
6.6.3 Unformatted Stream IO Functions – get(), put(), getline() and write()
Solutions to Objective Questions
7 C++ Programming Basics and Control Loops
7.4 Declaration and Assignment Values to Variables
7.6.1 IO Operators << and >>, iostream objects cin and cout
7.6.5 Relational and Logical Operators
7.6.7 Conditional Expressions: Question Mark Operator
7.7 Precedence and Association of Operators
7.8.1 Conditional and Branching Statements
7.8.2 Switch and Case Statements
7.8.6 When to Use For or While or Do-while
Solutions to Objective Questions
8 Functions, Storage Class Preprocessor Directives, and Arrays and Strings
8.2 Why Use Function Templates?
8.5 Call by Constant Reference
8.10.1 Types of Storage Classes
8.11 Header Files and Standard Libraries
8.12.2 Macro Definition with Arguments
8.12.5 Conditional Compilation #ifdef and #ifndef Statements
8.13.1 How are Arrays Stored in the Memory?
8.13.3 Multi-dimensional Arrays
8.13.4 Character Array – String Handling in C++ Language
Solutions to Objective Questions
9.2 What, Why and How of Pointers
9.3 Pointers Declaration and Usage
9.4 Call by Value and Call by Reference (Pointers)
9.5 Dynamic Memory New and Delete Functions
9.5.4 Pointers and Two-dimensional Arrays
9.5.5 Array Declaration on Heap Memory
9.5.7 Dynamic Memory for a Two-dimensional Array
9.5.8 Pointers and Three-dimensional Arrays
9.5.11 Pointer to a Constant vs const Pointer
9.6 What, Why and How of References
9.6.1 Which is Better – Pointer or Reference?
Solutions to Objective Questions
10.2.1 How to Create an Object to a Class?
10.2.2 How to Access Member Data and Member Functions?
10.2.3 Constructors and Destructors
10.4 Class Within a Class: Container Class
10.5 Objects and Data Members on Heap Memory
10.7 Pointers vs Objects: Use of Constant Declarations
10.8 Passing of Objects by Reference and Pointers to a Function
10.9 Constant Pointers and Constant References
Solutions to Objective Questions
11 C++ Special Features: Errors and Exceptions and Operator Overloading
11.6.1 Overloading of + Operator and * Operator
11.6.2 Operator << Overloading
11.6.3 What We Can Overload and What We Cannot Overload
11.6.4 Overloading Assignment Operator =
11.7 Pre- and Post-increment Operator Overloading
11.8 Overloading Operators New and Delete
11.9 Conversion (Casting) Operators
Solutions to Objective Questions
12.4 Constructors and Destructors
12.5 Base Class Function Overriding
12.6 Base Class Function Hiding
12.8 Multiple Virtual Functions
12.9 Virtual Destructors: Why and How?
12.10 Hybrid Inheritance with Multiple Inheritances
12.12 Run-time Polymorphism and Dynamic Binding
12.13 Abstract Data Types (ADTs)
Solutions to Objective Questions
13.3 IO Library Files Classification
13.3.4 IO Stream Library – Header Files
13.8 Seekg()/Seekp() and Tellg() and Tellp() Functionality of C++
Solutions to Objective Questions
14 Generic Programming and Templates
14.2 What is Generic Programming and Why Use Templates?
14.4 Function Templates and Passing of Arguments to a Function
14.5.2 Template Friend Class or Function
14.5.3 Type-specific Friend Function in Class Templates
14.6 Templates and Static Member Functions and Member Data
Solutions to Objective Questions
15 Object-oriented Programming with Java
15.2 Internet and the World Wide Web
15.3 C and C++ are Around – Then Why Java?
15.5.1 Portability or Platform Independent
15.5.2 Automatic Garbage Collection
15.5.3 Object-oriented Features
15.5.4 Easy to Learn and Excellent Documentation
15.5.6 Java Virtual Machine (JVM)
15.6 Developing First Java Application
15.6.1 Installing and Using Java Development Kit
15.6.2 Setting Path and Classpath
15.6.4 Java Documentation Comments
15.6.5 Java Development Environment
15.6.6 Our First Java Application
15.6.7 Application with Swing Components
15.6.8 Eclipse-integrated Development Environment
Solutions to Objective Questions
16 Java Fundamentals and Control Loops
16.2 Constants/Literal Constants
16.2.2 Floating Point Constants/Real Constants
16.2.5 Backlash Character Strings
16.3 Variables and Assignment of Values to Variables
16.4.2 Floating Point Data Types
16.5 Scope and Life Time of Variables
16.7 Type Conversion and Type Casting
16.8.1 Increment and Decrement Operators
16.11.1 Question Mark (?) Operator Conditional Expressions
16.11.2 Member Operator or Dot Operator
16.11.5 Operator Precedence and Associativity
16.12 Conditional and Branching Statements
16.12.1 If and If-Else Statements
16.12.4 Switch and Case Statements
Solutions to Objective Questions
17 Simple IO and Arrays and Strings Vectors
17.2.1 System.in, System.out and System.err Commands
17.2.2 StringTokenizer to Receive Multiple Inputs in a Single Line
17.2.3 Obtaining Inputs Using Java's Scanner Class
17.2.4 Using Control Formats - System.out.printf()
17.2.5 Formatted Output with String Format
17.3.1 Declaring and Creation of an Array
17.3.2 Initialization of Arrays
17.3.3 How Are Arrays Stored in the Memory?
17.3.4 Accessing and Modifying Array Elements
17.3.5 Passing Arrays as Arguments to Methods
17.3.6 Returning Arrays as Arguments to Methods
17.3.7 Multi-dimensional Arrays
17.3.8 Java.util. Arrays Class
Solutions to Objective Questions
18.3 Declaring a Class and Creating of Instances of Class Variables
18.4.2 Parameterized Constructor and Overloading of Constructors
18.5 Specifying Private Access Specifiers and Use of Public Methods
18.5.1 Private Access Specifiers
18.5.4 Call by Value and Call by Reference
18.5.5 Passing and Returning of Objects To and From Methods
18.8 Finalizer and Finalize() Methods
18.10 Access Control and Accessing Class Members
Solutions to Objective Questions
19 Inheritance: Packages: Interfaces
19.2 Basic Concepts of Inheritance
19.9 Using Final with Inheritance
19.14 Access Specifiers Revisited for Packages
19.15.1 What and Why of Interfaces
19.15.2 Defining and Implementing Interfaces
Solutions to Objective Questions
20 Errors and Exceptions in Java and Multithreaded Programming
20.4 Handling of Multiple Exceptions by Try and Catch Blocks
20.8 Re-throwing of an Exception
20.9 Defining Our Own Exception
20.9.1 Procedure for Throwing Our Own Exceptions
20.10 Concepts of Multithreading
20.12 How to Create and Run the Threads?
20.12.1 Which is Better: Extends Thread or Implements Runnable?
20.12.2 Use of isAlive() and join() Methods
20.16 Inter-thread Communications
20.17 Deadlock in Multithreaded Programming
Solutions to Objective Questions
21.3.1 Classification of ByteStream Classes
21.3.2 Classification of CharacterStream Classes or Text Classes
21.3.3 DataInput and DataOutputStream FileInput and FileOutputStream
21.3.4 FileReader and FileWriter
21.5 FilterInputStream and FilterOutputStreams
21.6 Using BufferedInput and BufferedOutput Streams
21.7 Writing Primitive Data Types to File: DataInputStream/DataOutputStream
21.10 Serialization of Objects and Object Streams
Solutions to Objective Questions
22.2.2 User Data Gram Protocol (UDP)
22.5.2 Server and Socket for Communications: How to Set them to Work?
22.5.3 Client and Socket for Communications: How to Set them to Work?
22.6.1 Client Server Two-way Communication Program
22.6.2 Multiple Clients and Server Programs Using Multithreads
22.6.3 Client Server Program for File Download from Server
Solutions to Objective Questions
23 Graphics Using Swing Components and Applets
23.1 Graphics Programming and Applets Introduction
23.2 Hierarchy of Graphics Software
23.6 Event Types and Event Listeners
23.6.3 Keyboard Event Listener
23.7.2 Life Cycle of an Applet
23.7.3 Creating an Applet - HelloWorld Applet
23.7.4 JApplets - Applets with Swing Components: Better Look and Feel
23.7.5 Applets vs. Stand-alone Applications
23.7.6 Passing Arguments to Applets
Solutions to Objective Questions
24 Collections and Software Development Using Java
24.2 Collection Framework of Java
24.10 JDBC Database Connectivity
24.11 Access Database Records Using MS Access Database
24.12 Access Database Records Using MySql Open Source Database
24.13 Access Database Records Using Oracle Database
24.14 Prepared Statement and Callable Statements
24.15.1 Servlets API and javax.servlet Package
24.15.4 HttpServlet Class—Get Request with Data from Client
18.118.2.240