Welcome to
Java Programming Course
@ SEED
SEED Infotech Pvt. Ltd. 1
Java Course Breakup
OOP’s concepts.
Java Language Fundamentals
AWT and Swing’s.
Multi Threading
I/O and File handling
Collection API
Socket Programming
Applets
Introduction to JDBC and RMI
JavaBeans
SEED Infotech Pvt. Ltd. 2
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
SEED Infotech Pvt. Ltd. 3
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.
SEED Infotech Pvt. Ltd. 4
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
SEED Infotech Pvt. Ltd. 5
Need of Object Oriented Approach
Software is Inherently Complex
Impedance mismatch between user of a system
and it’s developer.
Changing Requirements during development.
Difficulty of managing software development
process. It’s a team effort.
Easy User Interface.
Clients want systems to be adaptable and
Extensible
SEED Infotech Pvt. Ltd. 6
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
SEED Infotech Pvt. Ltd. 7
Structured Method
Functions
and Data
Procedures
Object Oriented Method
Object
Object
Object Object
SEED Infotech Pvt. Ltd. 8
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
SEED Infotech Pvt. Ltd. 9
What is an Object ?
An object is an entity that has well defined structure
and behavior
Characteristics of an object
State
Behavior
Identity
Responsibility
SEED Infotech Pvt. Ltd. 10
State of an Object
The state of an object the current values of all its
attributes. An attribute can be static or dynamic
SEED Infotech Pvt. Ltd. 11
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
SEED Infotech Pvt. Ltd. 12
Behavior of an Object
Behavior is how an object acts or reacts, in terms of its
state changes and operations performed upon it
SEED Infotech Pvt. Ltd. 13
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
SEED Infotech Pvt. Ltd. 14
Identity of an Object
Identity is that property of an object which
distinguishes it from all other objects
SEED Infotech Pvt. Ltd. 15
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.
SEED Infotech Pvt. Ltd. 16
Responsibility of an Object
The responsibility of an object is the role it serves
within the system
SEED Infotech Pvt. Ltd. 17
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
SEED Infotech Pvt. Ltd. 18
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
SEED Infotech Pvt. Ltd. 19
Class
Class is a template (Outline/Model)that decides the
structure of an object.
Class is a design whereas object is a real entity based on
the class.
SEED Infotech Pvt. Ltd. 20
Object Model
5 Major Pillars
Abstraction
Encapsulation
Modularity
Inheritance
Polymorphism
SEED Infotech Pvt. Ltd. 21
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
SEED Infotech Pvt. Ltd. 22
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
SEED Infotech Pvt. Ltd. 23
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
SEED Infotech Pvt. Ltd. 24
Object Model
Real World Abstraction Software
{ data, data,….}
attributes
entity object
behavior { method, method,….}
SEED Infotech Pvt. Ltd. 25
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
SEED Infotech Pvt. Ltd. 26
Object Model : Encapsulation
SEED Infotech Pvt. Ltd. 27
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.
SEED Infotech Pvt. Ltd. 28
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
SEED Infotech Pvt. Ltd. 29
Inheritance hierarchy
‘is-a” kind of hierarchy’
Vehicle
2 Wheeler 3 Wheeler 4 Wheeler
Kinetic Scooter
SEED Infotech Pvt. Ltd. 30
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.
SEED Infotech Pvt. Ltd. 31
Containment hierarchy
‘has-a’ kind of Relationship
Car
Engine Chassis Steering Wheel
SEED Infotech Pvt. Ltd. 32
Containment hierarchy
Engine
dsa
Insurance
gdfg
Wheels Registration
SEED Infotech Pvt. Ltd. 33
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
SEED Infotech Pvt. Ltd. 34
Polymorphism
Move ( )
Move ( )
Move ( )
Move ( )
SEED Infotech Pvt. Ltd. 35
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
SEED Infotech Pvt. Ltd. 36