0% found this document useful (0 votes)
4 views31 pages

01 Object Oriented Concepts

This document provides an overview of Object Oriented Concepts, including the need for an Object Oriented approach, key characteristics of objects, and the major pillars of the Object Model such as abstraction, encapsulation, inheritance, and polymorphism. It highlights the importance of managing software complexity and adapting to changing requirements through an object-oriented methodology. Additionally, it outlines the definitions and roles of objects, their states, behaviors, identities, and responsibilities within a system.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
4 views31 pages

01 Object Oriented Concepts

This document provides an overview of Object Oriented Concepts, including the need for an Object Oriented approach, key characteristics of objects, and the major pillars of the Object Model such as abstraction, encapsulation, inheritance, and polymorphism. It highlights the importance of managing software complexity and adapting to changing requirements through an object-oriented methodology. Additionally, it outlines the definitions and roles of objects, their states, behaviors, identities, and responsibilities within a system.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 31

Object Oriented Concepts

Chapter 1
Objectives
On completion of this chapter you will be
able to
 Understand Object Oriented Approach.
 Identify need for OO approach.
 Describe what is an Object Model.
 Distinguish between procedural analysis and
Object Oriented Analysis.
Need of Object Oriented
Approach
Impedance mismatch between user of a
system and its developer
Software is Inherently Complex
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.
Object Oriented Approach
Object oriented approach helps to handle
the complexity of software development
and aids in generation of adaptable and
Extensible Systems.
Structured Method Functions
And Data
Procedures

Object Oriented Method


Object
Object

Object Object
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.
What is an Object?
An object is an entity that has well
defined structure and behavior.
Characteristics of an object
State
Behavior
Identity
Responsibility
State of an Object
The state of an object encompasses the
current values of all its attributes.
An attribute can be static or dynamic.
State of an Object
Car Attributes

Color
Average
Make Static
Power
Fuel type
Values of all attributes
Speed at any moment defines
Fuel level the state of the car
Tyre pressure Dynamic
Gear
Behavior of an Object
Behavior is how an object acts or reacts, in
terms of its state changes and operations
performed upon it.
Behavior of an Object

Window Operations

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
Identity of an Object
Identity is that property of an object which
distinguishes it from all other objects.
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.
Responsibility of an Object
The responsibility of an object is the role it
serves within the system.
Bank Account Object

Attributes Behavior State Identity Responsibility

Balance Open Balance = Account Keeps track of


10,000 Number = stored
Deposit
Interest 1011 money with the
Interest
Rate Withdraw facility of
Rate = 2%
Report deposits &
Account Account withdrawals
Number Number =
1011
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.
Object Model
4 Major Pillars of Object Model
Abstraction
Encapsulation
Inheritance
Polymorphism
Object Model : 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 with respect to the domain us.
Only Domain Expertise can do right
abstraction.
Object Model : Abstraction
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


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
Object Model : 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.
Object Model : Encapsulation
Object Model: Modularity
Modularity is the process of breaking up a a
system into loosely coupled modules that
make up a cohesive system.
E.g. Wheel is a inherent part of a car. But a
flat tyre can easily be replaced.
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
Object Model : Inheritance
‘is-a” kind of hierarchy’

Vehicle

2 Wheeler 3 Wheeler 4 Wheeler

Kinetic Scooter
Object Model : 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.
Object Model :
Containment

‘has-a’ kind of
Relationship

Car

Engine Chassis Steering Wheel


Containment

Engine
dsa

Insurance

gffg

Registration

Wheels
Object Model : 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.
Polymorphism

Move ()

Move ()

Move ()

Move ()
Object Model: Minor Pillars
3 Minor Pillars
Strong Type Casting : prevents mixing of
abstraction. E.g - Bank Slip.
Persistence : saves state of a object across
time and space. E.g - Local object and object
that outlive the program.
Concurrency : many objects responding
simultaneously. E.g - typing into a file &
printing some previous file at the same time.

You might also like