Software Evolution: Machine Language Assembly Language Procedure Programming Object Oriented Programming (OOP)
Software Evolution: Machine Language Assembly Language Procedure Programming Object Oriented Programming (OOP)
Software Evolution: Machine Language Assembly Language Procedure Programming Object Oriented Programming (OOP)
Machine language
Assembly language
Procedure Programming
Object Oriented Programming (OOP)
Evolution of OOP concept
Structure programming supported by C was
found inadequate in handling large, complex
real life system.
It was realised that “As complexity increases,
architecture dominates the basic material.”
Sequence of programming statements are
inadequate for computer programming.
Important requirements
Data
Object A Data
Functions Functions
Object C
Functions
Data
Characteristics of OOP
Emphasis is on data rather than procedure
Programs are divided into what are known as objects
Data structures are designed such that they characterize the
objects
Functions that operate on the data of an object are tied
together in the data structure.
Data is hidden and cannot be accessed by external functions
Objects may communicate with each other through
functions
New data and functions can be easily added whenever
necessary
Follows bottom-up approach in program design
Definition of OOP
Objects
Classes
Data abstraction
Data encapsulation
Inheritance
Polymorphism
Dynamic binding
Message passing
Objects representation
Object : Student
DATA
Name
Date-of-birth
Marks
………
FUNCTIONS
Total
Average
Display
……….
Classes
A class is an user defined data type
A class is a collection of objects of
similar type
Example : Class fruit
Objects : Fruit mango, apple etc
Class includes data and the functions
that manipulate the data.
Data Abstraction and
Encapsulation
Encapsulation. The wrapping up of data and
functions into a single unit(called class) is known
as encapsulation.
Data hiding : Insulation of data from direct
access by any subject function is referred to as
data hiding.
Abstraction : Act of representing essential
attributes of an object the size, weight and cost
etc.
Note : Classes are known as Abstract Data
Types (ADT)
Inheritance
Inheritance is the process by which objects of one class acquire the properties of
objects of another class.
Bird
Attributes
Feathers
Lay eggs
Shape
Draw ( )
Real-time systems
Simulation and modelling
Object-oriented databases
Hypertext, hypermedia and expertext
AI and expert systems
Neural networks and parallel programming
Decision support and office automation
systems
CIM/CAM/CAD systems