Java Course Breakup
OOPs concepts.
Java Language Fundamentals
AWT and Swings.
Multi Threading
I/O and File handling
Collection API
Socket Programming
Applets
Introduction to JDBC and RMI
JavaBeans
1
List of Books
Name of the book Author
Core Java (vol I & II) Horstmann &
Cornell
Beginning Java 2
Ivor Horton (WROX)
Complete Reference Herbert Schieldt
Java Programming Joseph Weber
2
List of Books
Name of the book Author
Java-How to program Dietal & Dietal
Java certification guide
Symon Roberts
Java Programming
Language James Gosling et. al.
3
Objectives of This Session
The Object Oriented Approach
Identify need for OO approach
State what is an Object.
State what is a class.
Describe what is an Object Model.
Distinguish between procedural analysis and OOA
4
Need of Object Oriented Approach
Software is Inherently Complex
Impedance mismatch between user of a system
and its developer.
Changing Requirements during development.
Difficulty of managing software development
process. Its a team effort.
Easy User Interface.
Clients want systems to be adaptable and
Extensible
5
Object Oriented Approach
The Claim
Object oriented approach helps to handle the
complexity of software development and aids in
generation of adaptable and Extensible Systems
6
Structured Method
Functions
and Data
Procedures
Object Oriented Method
Object
Object
Object Object
7
Object Oriented Approach
An object oriented software is composed of discrete
objects interacting with each other to give rise to the
overall (complex) behavior of the system
- The architecture
8
What is an Object ?
An object is an entity that has well defined structure
and behavior
Characteristics of an object
State
Behavior
Identity
Responsibility
9
State of an Object
The state of an object encompasses the current
values of all its attributes. An attribute can be static or
dynamic
10
State of an Object
Car Attributes
Color
Average
Make Static
Power
Fuel type
Speed
Values of all attributes
Fuel level
at any moment defines
Tyre pressure Dynamic
the state of the car
Gear
11
Behavior of an Object
Behavior is how an object acts or reacts, in terms of its
state changes and operations performed upon it
12
Behavior of an Object
Window Operations
sasaasasasasasasas
Open
Close
Maximize
Minimize Totality of operations we can
Resize perform upon a window and
Move consequent changes in attributes
Write defines behavior of a window
13
Identity of an Object
Identity is that property of an object which
distinguishes it from all other objects
14
Identity of an Object
Bank Account
Balance
Interest Rate
Account Number IDENTITY
Customer
Account number uniquely identifies an account among all
others.
A single or group of attributes can be identity of an object.
15
Responsibility of an Object
The responsibility of an object is the role it serves
within the system
16
Bank Account Object
Attributes Behavior State Identity Responsibility
Balance Balance= Account Keeps track of stored
Open
10000 number= money with the
Interest 1011 facility of deposits &
Balance
rate Interest withdrawals
Withdraw rate= 2%
Account
number Report Account
number=
1011
17
Examples of Objects
Air Bank Account
Hard Disk Contract
Pen Signal
Person Industrial Process
Printer Medical Investigation
Color Transaction
point Training Course
An object can be a tangible, intangible or a conceptual
entity
18
Class
Class is a template that decides the structure of an object.
Class is a design whereas object is a real entity based on
the class.
19
Object Model
5 Major Pillars
Abstraction
Encapsulation
Modularity
Inheritance
Polymorphism
20
Object Model :
Abstraction
Abstraction
Abstraction is the process of identifying the key
aspects of an entity and ignoring the rest
We select only those aspects which are important
to us
Only Domain Expertise can do right abstraction
21
Object Model
Abstraction of a person object
Enumerate attributes of a person object that
needs to be created for developing a database
useful for social survey
useful for health care industry
useful for employment information
22
Abstraction of a Person Object
Social Survey Health Care Employment
name name name
age age age
marital status --- ---
religion --- ---
income group --- ---
address address address
occupation occupation occupation
--- blood group ---
--- weight ---
--- previous record ---
--- --- qualifications
--- --- department
--- --- job responsibility
23
Object Model
Real World Abstraction Software
{ data, data,.}
attributes
entity object
behavior { method, method,.}
24
Object Model : Encapsulation
Encapsulation
Encapsulation serves to separate interface of an
abstraction and its implementation
Encapsulation ensures that data within an object is
protected; it can be accessed only by its methods
25
Object Model : Encapsulation
26
Object Model: Modularity
Its the process of breaking up a a system into loosely
coupled modules that make up a cohesive system.
Eg. Wheel is a inherent part of a car. But a flat tyre can
easily be replaced.
27
Object Model : inheritance
Inheritance
Classification helps in handling complexity
Inheritance is a property of a class hierarchy
whereby each subclass inherits attributes and
methods of its super-class
The subclass can have additional specific attributes
and methods
28
Inheritance hierarchy
is-a kind of hierarchy
Vehicle
2 Wheeler 3 Wheeler 4 Wheeler
Kinetic Scooter
29
Inheritance
Is a kind of Hierarchy
Generalization and specialization are two points of
view that are based on the class hierarchies. They
express the direction in which the class hierarchy is
extended.
30
Containment hierarchy
has-a kind of Relationship
Car
Engine Chassis Steering Wheel
31
Containment hierarchy
Engine
dsa
Insurance
gdfg
Wheels Registration
32
Object Model : Polymorphism
Polymorphism
The ability of different objects to respond to the
same message in different ways is called
polymorphism
Polymorphism helps us to :
Design extensible software as we can add new
objects to the design without rewriting existing
procedures
33
Polymorphism
Move ( )
Move ( )
Move ( )
Move ( )
34
Object Model: minor elements
3 Minor Pillars
Strong Type Casting : prevents mixing of
abstraction
Eg Bank Slip
Persistence : saves state of a object across time
and space
Eg Local object and object that outlive the
program
Concurrency : many objects responding
simultaneously.
Eg typing into a file & printing some previous file at
the same time
35